Git修改前一次提交的方法(特别注意保持Change-Id不变)
2012-09-09 18:34
351 查看
基本概念
如果发现上一次提交的内容存在问题,就需要修改了。
基本概念
Change:
Gerrit中的一个Change就是一个Review任务,它对应一个commit。 每个commit,应该是为了一个目的的完整修改。如果某一次修改不完全,就需要修正该commit。
每一次修正之前的commit,重新提交时,都应该保持Change-Id不变,这样就不会产生新的Change,而是在原有的Change下产生一个新的Patch Set。
所有的Patch Set中,只有最新的一个是真正有用的,能够合并的。
图1:Change和Change-Id
图2:Patch Set
修改前一次提交的方法
方法一:用 --amend 选项
方法二:先reset,再修改
这是可以完全控制上一次提交内容的方法。但在与Gerrit配合使用时,需特别注意保持同一个commit的多次提交的Change-Id是不变的。
否则,就需要Abondon之前的Change,产生一些垃圾不说,操作得不对,会使得简单的事情复杂化,甚至无法合并。
方法三:只是修改作者
如果email不对,会无法提交到Gerrit,所以这个命令也可能用到。
如果发现上一次提交的内容存在问题,就需要修改了。
基本概念
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注:这种方式可以比较方便的保持原有的Change-Id,推荐使用。
方法二:先reset,再修改
这是可以完全控制上一次提交内容的方法。但在与Gerrit配合使用时,需特别注意保持同一个commit的多次提交的Change-Id是不变的。
否则,就需要Abondon之前的Change,产生一些垃圾不说,操作得不对,会使得简单的事情复杂化,甚至无法合并。
git reset HEAD^ #重新修改 git add . git commit -m “MSG”特别注意:为了保持提交到Gerrit的Change不变,需要复制对应的Change-Id到commit msg的最后,可以到Gerrit上对应的Change去复制,参见图1。
方法三:只是修改作者
如果email不对,会无法提交到Gerrit,所以这个命令也可能用到。
git commit –amend –author=<user-email>注:如果该email地址从未有过成功的提交,这个修改会不成功。在别的分支做一次成功提交之后,就可以修改了。
相关文章推荐
- Git修改前一次提交的方法(特别注意保持Change-Id不变)
- Git修改前一次提交的方法(特别注意保持Change-Id不变)
- Git修改前一次提交的方法(特别注意保持Change-Id不变)
- Git修改前一次提交的方法(特别注意保持Change-Id不变)
- Git修改前一次提交的方法
- git 修改前一次提交的方法
- Git使用基本方法(从远程服务器获取分支,提交修改)
- 2017-05-10 idea的git提交push出现missing changeid的问题
- git工程迁移(修改提交服务器地址)方法
- Git使用基本方法(从远程服务器获取分支,提交修改)
- 使用git命令修改指定的commit提交记录并提交到远程服务器的方法
- gerrit 修改前一次提交的方法(转载)
- git修改前一次提交的内容
- git 获取最近一次提交的commit id
- git修改上一次提交之前的提交git commit --fixup
- GIT修改上次提交的代码,做一次更完美的commit
- jquery表单提交方法submit()特别注意
- Git 不提交修改的方法
- Git提交过程中修改某次错误提交,或是修改bug的方法
- Git如何修改已提交Change