gerrit作为一个code review工具,配合git使用。但是代码既然需要review才能入库,就代表着review完了之后有可能需要出现N次修改,才真正merge进git库中。这种情况下,已经push完毕的commit被告知需要修改,就会出现一系列的问题。以下是一些简单的总结:
1.回退到远程分支(抛弃本地修改,但是untrack文件不受影响,不会被抹掉)填写file的时候回退文件,填写路径的时候回退整个路径下的内容。跟svn上面revert的感觉差不多。
git checkout <file/path>
2.查看log的时候,列出每次commit影响的文件列表
git log --name-only
3.修改上一次的commit。当commit已经push完毕,然后代码review之后被告知有些地方需要修改后再合入的时候,不要选择abandon,先在本地完成代码修改,然后输:
git add <file>
git commit --amend
git push ssh://user@10.10.0.200:29418/XXXX/Apps/VrLauncherHEAD/refs/for/master
然后gerrit上面就可以看到最新的提交。History里面会有所有的提交记录。
据说还可以直接在页面修改代码,但还没试过。参考http://www.jianshu.com/p/b77fd16894b6
4.回退到上一次commit,这种操作不会覆盖本地修改
gitlog &nbs