git : local -> gerrit;如果避免不断产生新的patch
2013-02-19 10:13
387 查看
如果,你已经提交了一次gerrit,共4个commit(1,2,3,4(top)),都被review过了, 但是其中有一个(例如第二个commit: 2)是不合格的提交,要求重新修改。
如果你在本地,git rebase -i HEAD~3, 然后重新git push gerrit HEAD:refs/for/, 那么,除了commit2之外, commit3 ,commit4,在gerrit上也重新生成了新的patch,尽管这个patch和之前的patch内容没变,但是review过得标志被清空了,因为是新的patch了,讨厌的不知如此,
你添加过的review list 人员都会不断受到你的更新的垃圾邮件。
解决的办法:
从gerrit上checkout 出 commit2到本地的一个新的branch上,这时候,commit1和commit2会被拉下来, git commit --amend 来修改commit2, push之后gerrit上的1,3,4不会生新的patch。 注意,3,4不生成新的patch可以理解,1也不生成新的patch么? 是的, 因为用的是git commit --amend;但是如果用git rebase -i HEAD~2在本地来修改commit2的话,
push之后 gerrit 上的commit1就生成新的patch; 但是如果用git rebase -i HEAD~1的话, 也是没问题的,因为我只rebase 了commit2, 而commit1没有发生任何变化。
ps: gerrit上的checkout 和 cherry-pick 区别:
checkout 会把这个commit的depends on 这个有依存关系的commit一并更新下来,
cherry-pick 则只是单独的将这个commit更新下来,会破坏原有的依存关系。
如果你在本地,git rebase -i HEAD~3, 然后重新git push gerrit HEAD:refs/for/, 那么,除了commit2之外, commit3 ,commit4,在gerrit上也重新生成了新的patch,尽管这个patch和之前的patch内容没变,但是review过得标志被清空了,因为是新的patch了,讨厌的不知如此,
你添加过的review list 人员都会不断受到你的更新的垃圾邮件。
解决的办法:
从gerrit上checkout 出 commit2到本地的一个新的branch上,这时候,commit1和commit2会被拉下来, git commit --amend 来修改commit2, push之后gerrit上的1,3,4不会生新的patch。 注意,3,4不生成新的patch可以理解,1也不生成新的patch么? 是的, 因为用的是git commit --amend;但是如果用git rebase -i HEAD~2在本地来修改commit2的话,
push之后 gerrit 上的commit1就生成新的patch; 但是如果用git rebase -i HEAD~1的话, 也是没问题的,因为我只rebase 了commit2, 而commit1没有发生任何变化。
ps: gerrit上的checkout 和 cherry-pick 区别:
checkout 会把这个commit的depends on 这个有依存关系的commit一并更新下来,
cherry-pick 则只是单独的将这个commit更新下来,会破坏原有的依存关系。
相关文章推荐
- local->gerrit->git->local 本地有个git一样的commit,这时怎么让local跟本地同步
- Android: Git/Gerrit/Repo 的使用 <一>
- Android: Git/Gerrit/Repo 的使用 <二>
- git am failed:cannot open <dir>/*.patch: No such file
- 世界杯->欧洲杯四强产生
- 【起航计划 035】2015 起航计划 Android APIDemo的魔鬼步伐 34 App-&gt;Service-&gt;Local Service Controller
- 死锁&死锁的产生条件&死锁的避免
- 存储效率:Git > CVS > SVN
- qtp&nbsp;问题汇总(不断更新)&lt;一&gt;
- gitlab & gerrit & git & repo & jenkins
- repo&git&gerrit联系和使用
- 如果解决测试之痛<特别是单元、集成测试之痛>
- #inclue<math.h>函数学习 不断更新
- Spring配置文件中使用ref local与ref bean的区别. 在ApplicationResources.properties文件中,使用<ref bean>与<ref local>方法如下
- ※C++随笔※=>☆C++基础☆=>※№推荐几本经典C++书籍 (不断更新中……)
- git checkout : You have local changes cannot switch branches&Entry would be overwritten by mege
- GIT & REPO & GERRIT (一)
- 兄弟们 如果你的网页老是错位 就要看一下你网页的解析模式 >>>>
- JNI中用 javah.exe 产生头JNI-Style文件出现错误:无法访问 <class> 未找到 <class> 的类文件
- 解决myeclipse10.x的Servers产生的at com.genuitec.eclipse.ast.deploy.core.Deployment.<init>(Unknown Source)