git(6)查询git历史记录(三)
1.重新改写历史记录
git的交互式bebase命令,即git rebase -i,能够具有改写历史记录的功能。用这个命令,可以重新塑造历史,下面是当前版本库里的最后三个提交:
git log –pretty=format:”%h %s” HEAD~3.. ..后面省略默认是HEAD
下面我们学习如何将“6874be6”这个提交移到另外两个提交之前。
重新排序提交
可使用命令git rebase的人机交互模式改写历史记录。
git rebase –i HEAD~3
编辑器中以“#”开头的都是注释,并且都会被git忽略,前面三行是须重新排序的三次提交,现在把pick 6874be6移到最顶上一行。
保存编辑的内容并退出编辑器,git开始变基操作,完成后,
可以通过git log命令查看新的顺序:
git log –pretty=format:”%h %s” HEAD~3..
将多个提交压合成一个提交
git还可以将多个提交压合在一起,再次启动交互式编辑操作
git rebase –i HEAD~3
如上图所示将pick换成红框中squash,保存退出编辑器,变基操作启动之后,将会自动弹出编辑器,编辑器中的默认信息如下所示:
可以按照自己喜欢的方式整合这些信息,之后保存退出,一边git继续完成编辑操作
通过git log查看:
git log –pretty=format:”%h %s” HEAD~4..