Я новичок в GitHub /VCS.

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

    Can't finish GitHub sharing process
    Successfully created project 'myproject' on GitHub, but initial push failed:
    remote: error: GH007: Your push would publish a private email address.
    failed to push some refs to 'https://github.com/me/myproject.git'

Я погуглил сообщение об ошибке, но ни одного обращения. Я также искал Stack Exchange, но сигары не было. Как я могу решить эту проблему?

user156060

Ответов: 6

Ответы (6)

Я столкнулся с той же ошибкой : сообщение GH007 и использовал следующее для решения проблемы.

  1. Перейдите на Настройка адреса электронной почты для фиксации.
  2. Следуйте инструкциям Установка вашего адреса электронной почты для каждого репозитория на вашем компьютере.
  3. Откройте свою учетную запись GitHub и перейдите к НастройкиЭлектронная почта.
  4. Установите флажок Не разглашать мой адрес электронной почты.
  5. Снимите флажок с Блокировать кнопки командной строки, открывающие доступ к моей электронной почте.

Это может показать ваш адрес электронной почты.

Вероятно, вы включили (или теперь она включена по умолчанию) функцию конфиденциальности электронной почты в GitHub.

Подробно на этой странице в справке GitHub.

Короче говоря, есть переключатель, который вы можете включить (который включен в вашей учетной записи), который предотвращает любое нажатие, где пользователь является вашим фактическим адресом электронной почты. Вместо этого вы можете использовать анонимный адрес (или отключить эту функцию).

Подробности для обоих вариантов доступны на одной странице.

Есть решение, без раскрытия вашей электронной почты. Ошибка возникла из-за того, что вы настроили свой собственный адрес электронной почты в конфигурации git - (global | system | local) user.email.

Если тот же адрес электронной почты является вашим адресом электронной почты Github, и вы выбрали вариант, чтобы сделать свою электронную почту частной, эта ошибка будет помечена git.

К счастью, Github предоставляет вам адрес электронной почты без ответа, который вы можете использовать для действий в командной строке. Просто проверьте свои настройки электронной почты в своем профиле Github.

Вы можете просто удалить или отменить фиксацию, сделанную с помощью user.name, и перед повторной фиксацией изменений установить другой адрес электронной почты для

git config - (global | system | local) user.email "".

Теперь, когда вы пытаетесь отправить изменения в удаленное репо, ошибка должна исчезнуть.

У меня была такая же проблема. Мое решение показано на картинке ниже:

GitHub Settings

При включении функции «Блокировать отправку сообщений в командной строке, раскрывающих мою электронную почту», вы также захотите настроить Git на использование вашего адреса электронной почты без ответа. Не волнуйтесь - это не повлияет на ваш график взносов. Все коммиты будут по-прежнему связаны с вашей учетной записью.

  1. Открыть терминал.

  2. Измените текущий рабочий каталог на локальный репозиторий, где вы хотите настроить адрес электронной почты, связанный с вашими коммитами Git.

  3. Найдите свой адрес GitHub без ответа в Персональные настройки → Электронная почтавашего GitHub. Это упоминается в описании флажка Не разглашать мой адрес электронной почты. Обычно он начинается с уникального идентификатора и вашего имени пользователя.

  4. Установите адрес электронной почты в Git. Используйте свой адрес электронной почты для отсутствия ответа, предоставленный GitHub.

    • Установка адреса электронной почты для каждого репозитория на вашем компьютере

      git config --global user.email "{ID}+{username}@users.noreply.github.com"
      
    • Установка адреса электронной почты для одиночного репозитория

      git config user.email "{ID}+{username}@users.noreply.github.com"
      
  5. Сбросить информацию об авторе вашего последнего коммита:

    git commit --amend --reset-author
    

    Если у вас есть несколько коммитов с вашим личным адресом электронной почты, см. этот ответ.

  6. Теперь вы можете отправить фиксацию с неправильным адресом электронной почты, и будущие коммиты также будут иметь неправильный адрес электронной почты.

    git push
    

После настройки Git коммиты будут использовать ваш альтернативный адрес электронной почты, и любые запросы, которые не будут отправлены, будут отклонены.

  1. Откройте раздел электронной почты на github.com. Посетите https://github.com/settings/emails.

  2. Перейдите в раздел Держать мои адреса электронной почты в секрете и запишите свой без ответа идентификатор электронной почты.

  3. Откройте терминал git и установите свой donotreply идентификатор электронной почты в качестве идентификатора электронной почты, используя следующую команду:

git config --global user.email "
  1. Отмените ваши недавние локальные коммиты (с вашим личным адресом электронной почты), которые не могут быть помещены в репозиторий.
git reset --soft HEAD~1 
  1. Сценарий и отправка этих коммитов
git add .
git commit –m ""
git push

2022 WebDevInsider