我正在学习如何在Eclipse中使用git并将其用于只有本地存储库的小项目。
我不同地试图创建新的分支,修改提交然后重新定位,但最终会出现一堆可怕的合并冲突和意大利面条历史树。 我可以将我的新提交复制并粘贴到txt文件中,使用错误的信息恢复提交,然后从那里重新开始,但我认为使用git的重点是避免做类似的事情。
是否有一种简单的方法可以更改旧提交的说明文字?
如果没有复杂方式的步骤是什么?!
答案 0 :(得分:2)
如果您已经在某处修改了修订版:不要!
否则:使用git rebase -i <SOME_OLD_REVISION>
并使用r(eword)
选项标记要更改的提交。
关闭弹出的文件后,将开始重新定位,并且系统会提示您选择输入新提交消息的每个提交。
假设您有以下提交历史记录(最新的第一个):
f6f6f6f last commit
d4d4d4d ...
c3c3c3c third commit
b2b2b2b second commit
a1a1a1a first commit
想要更改b2b2b2b
和c3c3c3c
的消息,您可以
git rebase -i a1a1a1a
接下来,您的收藏编辑器会弹出并显示此对话框:
pick f6f6f6f last commit
pick ...
pick c3c3c3c third commit
pick b2b2b2b second commit
# Rebase b2b2b2b..f6f6f6f onto a1a1a1a
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
将pick
更改为r
或reword
以进行提交b2b2b2b
和c3c3c3c
,保存文件并退出编辑器。
接下来,将开始变基。
对于您选择reword
的提交,您可以输入新的提交消息。