Git push продолжает писать коммит с неверным именем пользователя - PullRequest
0 голосов
/ 12 февраля 2019

Я создал новый проект на общей машине, и коммиты в моих репозиториях находятся под неправильным именем пользователя в Git.Я изменил учетные данные в диспетчере учетных данных в Windows, я следовал этому руководству , но автор не изменился, даже если при нажатии он запрашивает у меня имя пользователя и пароль, и я вставляю свой,Тем не менее, в репозитории автором коммита является не я.Я также пробовал это решение , но все еще не работает.

Что еще можно попробовать?

ОБНОВЛЕНИЕ

Шаги:
- git commit -m "message"
- git push origin master

Затем он запрашивает электронную почту и пароль.Я вставляю свой, он толкает правильно, а затем я иду в хранилище и вижу это:

enter image description here

После Git журнала я вижу это:

enter image description here

Все смешалось.

В хранилище имя неверное.

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы работаете в ложной предпосылке, поэтому вы не можете это исправить, пока не измените свой подход: git push переносит существующие коммиты из одного хранилища в другое.В процессе передачи используются ваши учетные данные - те, что у менеджера для https://, или сохраненные ssh для ssh:// - но коммиты уже заморожены: у них есть любое имя, заданное для их автора икоммиттер, и их нельзя изменить.

Следовательно, вам нужно делать новые и разные коммиты.Когда вы делаете коммиты, имя и адрес электронной почты, которые Git использует здесь, являются , а не данными, которые вы устанавливаете в каких-либо учетных данных, и не хранятся ни в каких ssh-ключах.Вместо этого они используют только ваши настройки user.name и user.email.

Если у вас есть существующие коммиты, которые вам нравятся, вы можете скопировать их в новые и улучшенные коммиты, которые почти точно так же, как и оригиналы, но немного отличается тем, что они:

  • имеют другое имя автора и коммиттера (ваши новые и улучшенные, исправленные) и

  • имеют разные хэш-идентификаторы (потому что они разные коммиты).

Затем вы можете сказать своему Git: Выбросить эти непристойные старые коммиты и использовать моиВместо этого новые блестящие улучшенные. Вы перестанете видеть старые коммиты и увидите только новые.Если вы присмотритесь, вы увидите, что у новых есть новые хеш-идентификаторы, хотя все else в них идентично.

Для этого см. Как изменитьимя автора и коммиттера и адрес электронной почты для нескольких коммитов в Git? .Обратите внимание, что вы должны быть осторожны, чтобы копировать только те коммиты, которые вы сделали, используя неправильные настройки имени и адреса электронной почты.Принятый ответ на связанный вопрос копирует любой коммитов, которые соответствуют одному конкретному адресу электронной почты, поэтому, если вы по ошибке использовали, скажем, адрес электронной почты Линуса Торвальдса и попробовали это в системе Linux, вы замените всеего коммитов.Но в типичном случае, когда ваш неправильный адрес электронной почты был уникальным, вы замените только несколько последних принятых вами ошибочных коммитов.

(Примечание: может помочь, если в вашем вопросе вы увидите точно какие шаги вы предпринимаете, и точные результаты. Например, если git push терпит неудачу с non-fast-forward, мы узнаем больше о том, что идет не так.)

0 голосов
/ 12 февраля 2019

Установите новое имя пользователя Git, оно автоматически перезапишет старое имя пользователя в файле конфигурации:

git config --global user.name "My Name"

Подтвердите, что вы правильно установили имя пользователя Git:

git config --global user.name

Мое имя

...