Это не git push
, которое использует ваше имя пользователя + имя хоста, это git commit
.
По умолчанию, если вы не установили user.name
и user.email
ПЕРЕД выполнением коммита, git получит его от имени вашего компьютера и имени хоста. Это также показало бы вам следующее предупреждение:
Committer: user1234 <user1234@mac.local>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1.txt
Когда вы делаете git push
, он просто использует то, что было установлено в качестве автора коммита, и отправляет его в удаленное хранилище.
То, что я думаю, произошло: вы уже совершили ДО вы установили правильные настройки user.name
и user.email
. Таким образом, те коммиты, которые вы пытаетесь выдвинуть, уже сохранили «SamLogan@logath-T460.mycompany.com» в качестве автора коммита.
Что вам нужно сделать, это обновить автора этих коммитов. Во-первых, убедитесь, что правильно настроили user.name
и user.email
config (--global
или --local
для репо). Затем используйте --reset-author
для этих коммитов.
Чтобы изменить автора только самого последнего коммита:
git commit --amend --reset-author --no-edit
Чтобы изменить автора нескольких прошлых коммитов:
(ссылка: Как изменить несколько коммитов в Git, чтобы сменить автора )
git rebase -i HEAD~N -x "git commit --amend --reset-author --no-edit"
где N
- количество предыдущих коммитов, которые вам нужно обновить. rebase -i
покажет редактор командной строки, чтобы показать вам изменения, а --reset-author
будет использовать ваши текущие настройки user.*
. Просто сохраните и выйдите, чтобы применить изменения.
После этого git push
теперь должно работать.