- 命令行执行:
git branch
git log
可以看到之前到commit记录,以及每一个commit的ID,如下:
- 合并所有commit为一个commit,命令行执行:
git rebase -i 36f663a68 ebf0b9fed734
进入下面的界面:
按 i
键进入编辑模式,修改commit信息前面的操作信息。这里可以选择怎么操作每一条commit,删除一条commit信息后,对应的改动会被删除。
按 esc
退出编辑模式,输入:wq
保存修改信息,自动进入以下页面:
(这里编辑commit信息,这个信息是合并之后保留展示的信息)
修改之后,保存。
保存后显示如下:
-
保留当前变更的操作,需要切分支处理
命令行执行:
git branch
会显示当前的分支:
会看到,当前并未在master分支上,如果此时执行以下命令,会丢失之前的操作。
git checkout master
命令行执行:
git checkout -b temp
切出一个新的分支,此分支会将之前的操作保留下来。然后命令行执行:
git checkout master
切到master分支,当前master分支和rebase之前一样,没有任何变化,命令行执行以下命令:
git reset --hard temp
然后执行:
git log
查看master分支的提交历史记录:
master分支的提交记录已经改变为合并commit之后的状态。
命令行执行:
git branch -D temp
删除temp分支。