Git 如何修改旧的现有推式提交?
查看我的提交树,我看到一个相对较旧的推送的提交描述不正确。 我想换一下。可能吗?我怎么做Git 如何修改旧的现有推式提交?,git,Git,查看我的提交树,我看到一个相对较旧的推送的提交描述不正确。 我想换一下。可能吗?我怎么做 提交已推送到服务器。提交是一个旧的提交,之后有很多提交被推送。我只想更改消息,而不是内容。无论如何,您必须执行强制推送(不推荐),这将从提交中重写整个树 git rebase -i HEAD~n # Displays a list of the last n commits on the current branch 从列表中可以看出 pick e499d89 Delete CNAME pick 0c39
提交已推送到服务器。提交是一个旧的提交,之后有很多提交被推送。我只想更改消息,而不是内容。无论如何,您必须执行
强制推送
(不推荐),这将从提交中重写整个树
git rebase -i HEAD~n # Displays a list of the last n commits on the current branch
从列表中可以看出
pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
将pick
更改为reword
like
pick e499d89 Delete CNAME
reword 0c39034 Better README #line to change the message
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
- 保存并关闭提交列表文件。在每个结果提交文件中, 键入新的提交消息,保存文件,然后关闭它 然后
希望这有帮助。有关更多信息,您必须执行强制推送操作(不推荐),该操作将从提交中重写整个树
git rebase -i HEAD~n # Displays a list of the last n commits on the current branch
从列表中可以看出
pick e499d89 Delete CNAME
pick 0c39034 Better README
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
将pick
更改为reword
like
pick e499d89 Delete CNAME
reword 0c39034 Better README #line to change the message
pick f7fde4a Change the commit message but push the same commit.
# Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
- 保存并关闭提交列表文件。在每个结果提交文件中, 键入新的提交消息,保存文件,然后关闭它 然后
也就是说,它从原始提交的新版本开始构建一个并行的重复时间线。任何其他人都会对原始时间线不满意。可能重复我尝试过的这个,但它不适用于旧的提交。或者我只是不知道如何将它应用到旧的文件中。@mm759它不是“未推送的提交”,而是“推送的提交”@btw。以防你听到下面的答案。请注意,所有其他已经有这段历史的人都会恨你。因为在重写的commit之上创建的任何commit的每个分支都必须手动重新设置基址,以使事情正确。阅读git rebase手册页的底部,了解如何从上游rebase恢复您将要做的事情。可能是我尝试过的重复,但它不适用于旧的提交。或者我只是不知道如何将它应用到旧的文件中。@mm759它不是“未推送的提交”,而是“推送的提交”@btw。以防你听到下面的答案。请注意,所有其他已经有这段历史的人都会恨你。因为在重写的commit之上创建的任何commit的每个分支都必须手动重新设置基址,以使事情正确。阅读git rebase手册页的底部,了解如何从上游rebase恢复您将要做的事情。请注意,即使您说服所有人容忍您的历史重写,他们仍然会保留旧的提交,直到它被垃圾回收,注意,即使你说服了所有人容忍你的历史重写,他们仍然会保留旧的提交,直到它被垃圾收集,如果他们想让它永远存在,他们也可以对它进行标记。