Значення повідомлення GitHub: натискання відхилено через обмеження конфіденційності електронної пошти


201

Я прийняв і об'єднав Запит на виклик на github, і тепер більше не можу виконувати свої зобов'язання.

Повідомлення:

! [remote rejected] master -> master (push declined due to email privacy restrictions)
error: failed to push some refs to 'git@github.com:FranckFreiburger/vue-resize-sensor.git'


git did not exit cleanly (exit code 1) (3838 ms @ 12/04/2017 21:23:11)

Що мені робити зараз?


1
Я знайшов сторінку документації: help.github.com/en/github/…
Себастьян Норр

Відповіді:


398

Віддалене сховище налаштовано так, щоб заборонити вам натискати комісію, яка розкривала б вашу особисту адресу електронної пошти. Наприклад, у GitHub ви встановили прапорець командного рядка Block, який відкриває прапорець моєї електронної пошти, щоб увімкнути це .

Командний рядок "Блокувати", який відкриває мою електронну пошту

Хоча ви, звичайно, можете зняти цей параметр, він відкриє вашу приватну адресу електронної пошти всім у світі, оскільки інформація про автора читається будь-ким, хто має доступ до вашого сховища.

Натомість зробіть це:

  1. Ви можете бачити свою персональну адресу електронної пошти, яка за замовчуванням використовується для ваших зобов’язань у Git:

    git config --global user.email
  2. Знайдіть свою невідповідну адресу GitHub в особистих налаштуваннях GitHub → Електронна пошта . Це згадується в описі приватного прапорця Зберігати мою електронну адресу . Зазвичай він починається з унікального ідентифікатора, а також вашого імені користувача:

    {ID}+{username}@users.noreply.github.com

    Зберігайте мою електронну адресу приватною

  3. Змініть глобальну настройку електронної пошти користувача на вашу невідповідну адресу GitHub:

    git config --global user.email {ID}+{username}@users.noreply.github.com
  4. Скиньте інформацію про автора про ваше останнє зобов’язання:

    git commit --amend --reset-author

    Якщо у вас є кілька комісій з вашою приватною електронною адресою, дивіться цю відповідь .

  5. Тепер ви можете натиснути на комісію з невідповідною електронною адресою, а майбутні комісії також матимуть невідповідну електронну адресу.

    git push

4
Ні, це спрацювало як шарм з мого боку, можливо, ти забув крок, @adamczi. Це має бути прийнятою відповіддю, оскільки в ній зазначено обидва можливі рішення.
Іоанна

4
Дякую, напевно, я міг допустити помилку на кроці 2. Варто зауважити, що ви повинні чітко дотримуватися інструкцій @ Virtlink там, оскільки встановлення електронної пошти для інших, ніж <your_uname>@users.noreply.github.com(як я налаштував None), призведе до того, що не відображати ваші зобов’язання у графік на сторінці вашого профілю.
adamczi

3
У мене була подібна загадкова проблема. Моя помилка полягала в тому, що git commit --amend --author "first last me@users.noreply.github.com"це не здавалося. Вам дійсно потрібно скинути user.emailпараметр конфігурації точно так, як описано вище. Ура!
msanford

6
Крок 4, який надає Virtlink, був критичним для мого подолання цієї помилки. Я встановив user.email у конфігурації для використання моєї електронної адреси без відповіді, але команда Push все одно повертає розчаровуючу помилку щодо публікації приватної електронної пошти. Після внесення змін до комісії, яку я намагався просунути, вона дозволила натиснути.
командир

3
Ви можете змінити адресу електронної пошти лише для одного сховища. Ця відповідь була корисною, але я також повинен був посилатися на довідкову статтю github: Встановлення електронної адреси для одного сховища
gfullam

146

Це, ймовірно, спричинено новим налаштуванням GitHub, яке блокує натискання командного рядка, що відкривають вашу електронну адресу.

Спробуйте зняти прапорець "Блокувати натискання командного рядка, що виставляє мою електронну пошту" у налаштуваннях вашої електронної пошти, а потім натиснути знову.


20
чи зніміть цей прапорець під час відкриття моєї приватної адреси електронної пошти?
Франк Фрайбургер

14
Так, це буде робити, але ви вже відкрили свою адресу електронної пошти, якщо ви перемістили комісії у ваше сховище. Навіть незважаючи на те, що Github не показуватиме вашу електронну адресу, якщо я клоную ваше сховище, я можу побачити їх точно так само, і саме це дозволить запобігти новому запиту.
Лассе В. Карлсен

10
Це сумнівне рішення. Принаймні зауважте, що це адресуватиме вашу електронну адресу всьому світу.
ковач


1

Я вирішив помилки:

git config --global user.email ""

Це просто встановило мій електронний лист порожнім (порожній рядок). Тепер я встановлюю свою електронну пошту в окремих проектах за допомогою:

git config user.email "myemail@domain.com"


0
  1. просто зайдіть на github.com і натисніть на свій профіль
  2. перейти до налаштувань
  3. тепер натисніть на "Електронна пошта" на лівій панелі навігації
  4. і шукайте поле "Зберігати мої електронні адреси приватними"
  5. зніміть цей прапорець
  6. тепер перевірте ще раз, і я думаю, що ваша проблема вирішена зараз.

2
це буде працювати, але це відкриє вашу приватну адресу електронної пошти. якщо вас турбує конфіденційність, знайдіть інші рішення
kaznovac

-1

Зніміть прапорець Блокувати командний рядок, який відкриває мій електронний лист, а потім спробуйте натиснути код з командного рядка.


те саме, що застосовується знати?
LOG_TAG

це буде працювати, але це відкриє вашу приватну адресу електронної пошти. якщо вас турбує конфіденційність, знайдіть інші рішення
kaznovac

Чим це відрізняється від відповіді Джордана Льюїса ?
Пітер Мортенсен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.