基本概念
如果发现上一次提交的内容存在问题,就需要修改了。
基本概念
Change:
Gerrit中的一个Change就是一个Review任务,它对应一个commit。 每个commit,应该是为了一个目的的完整修改。如果某一次修改不完全,就需要修正该commit。
每一次修正之前的commit,重新提交时,都应该保持Change-Id不变,这样就不会产生新的Change,而是在原有的Change下产生一个新的Patch Set。
所有的Patch Set中,只有最新的一个是真正有用的,能够合并的。
图1:Change和Change-Id
图2:Patch Set
修改前一次提交的方法
方法一:用 --amend 选项
- #修改需要修改的地方。
- git add .
- git commit –amend
方法二:先reset,再修改
这是可以完全控制上一次提交内容的方法。但在与Gerrit配合使用时,需特别注意保持同一个commit的多次提交的Change-Id是不变的。
否则,就需要Abondon之前的Change,产生一些垃圾不说,操作得不对,会使得简单的事情复杂化,甚至无法合并。
- git reset HEAD^
- #重新修改
- git add .
- git commit -m “MSG”
方法三:只是修改作者
如果email不对,会无法提交到Gerrit,所以这个命令也可能用到。
- git commit –amend –author=<user-email>