教程3 改写提交!

7. merge --squash

为了节省时间,这个教程使用现有的历史记录作为本地数据库。

从这里下载

我们移动到stepup-tutorial/tutorial7目录。本地端的历史记录的状态如下图显示。把issue1分支的所有提交合并成一个提交,并导入到master分支。

数据库的历史记录

切换到master分支后,指定 --squash选项执行merge。

$ git checkout master
Switched to branch 'master'
$ git merge --squash issue1
Auto-merging sample.txt
CONFLICT (content): Merge conflict in sample.txt
Squash commit -- not updating HEAD
Automatic merge failed; fix conflicts and then commit the result.

看来发生冲突了。请打开sample.txt,修改冲突的部分,然后提交。

$ git add sample.txt
$ git commit
[master 0d744a7] Conflicts:   sample.txt
 1 files changed, 4 insertions(+), 0 deletions(-)

issue1分支上所有的提交都汇合并添加到master分支了。请用log命令确认历史记录。