Git: Как я могу изменить свою электронную почту в коммитах и ​​перенести обновленную историю в удаленное хранилище? - PullRequest
1 голос
/ 18 января 2011

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

$ git push production master
To git@<remote_server>
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@<remote_server>
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again.  See the 'Note about
fast-forwards' section of 'git push --help' for details.

Итак, я попытался выполнить команду commit-email-Changing в удаленном репо, и она показывает мне You need to run this command from the toplevel of the working tree.

1 Ответ

2 голосов
/ 18 января 2011

Все, что вам нужно сделать, это использовать git push --force, чтобы перезаписать ветку в удаленном репозитории.

Обратите внимание, что это плохая идея, если другие люди используют долгосрочные веткитекущее содержимое удаленного хранилища.В этом случае вы не должны изменять историю вообще.

Тем не менее, краткосрочные ветки, которые часто выбрасываются и регенерируются и никогда не сливаются обратно в ветку восходящего потока (например, linux-next , которая автоматически регенерируется ежедневно и используется только для автоматического тестирования), не должно быть никаких проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...