组合并移动提交
请转至您之前下载的git-tutorial/tutorial6
目录。
当您检查此存储库的历史记录时,它将如下所示:
我们将修改带有“append description of the commit command”消息的提交。
为此,我们将使用 git rebase -i 命令。
$ git rebase -i HEAD~~
您默认的文本编辑器将打开从 HEAD
到 HEAD~~
的列表提交,如下所示。
pick 9a54fd4 append description of the commit command
pick 0d4a808 append description of the pull command
# Rebase 326fc9f..0d4a808 onto d286baa
#
# 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 log message
# x, exec = run command (the rest of the line) using shell
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
在第一行,将单词pick
更改为edit
,然后保存并退出。
您将看到以下输出,并从该提交中签出。
Stopped at d286baa... append description of the commit command
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
打开sample.txt
文件,并进行如下所示的更改。
Anyone can learn Git with this tutorial and Backlog
add: Register a change in an index
commit: Record index state.
pull: Obtain the content of the remote repository
使用git commit --amend
来提交更改。
$ git add sample.txt
$ git commit --amend
然后执行git rebase --continue
完成 rebase 过程。
$ git rebase --continue
在您当前的分支上运行变基时,您可能会在您的更改中遇到冲突。若要继续,您必须手动解决这些冲突,然后运行git add
和git rebase --continue
。无需发出新的提交来解决冲突。
但是,如果您想停止变基,您可以调用git rebase --abort
,这将 revert 并退出整个过程,且成功修改提交。
如果您在调用git rebase -i
时,在多个行上指定edit
,系统将提示您一次修改一个提交。