Значення повідомлення 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.