我正在从事android开发,所以我从其他gerrits中挑选了一些提交。
编辑:在这张图片中,你可以看到我在说什么:
http://i.imgur.com/1oHgqVM.png (很抱歉我不能在这里发布图片)
我在源码补丁1中添加了樱桃精选,并上传到了我的github上。
现在我看到他们已经上传了补丁3,所以:
我是不是应该对我的cherry-pick (补丁1)进行git还原,选择最新的补丁,然后将其上传到我的github?
或者,有没有办法告诉github,我想用一个新的补丁覆盖我所做的提交(从补丁1升级到补丁3)?
发布于 2015-02-22 06:58:15
你想去掉patch 1,代之以patch 3。
您首先需要使用git review -d change获取gerrit patch 3 commit,其中change是gerrit审阅编号。
假设patch 1有SHA a302c44,patch 3有SHA 85050faa,你的工作分支中有5个提交(你上传到github的那个)。现在可以运行git rebase -i HEAD~5,它将打开一个编辑器,其中包含以下内容:
pick 1b7585b stop.sh: only try killing processes that belong to me
pick a302c44 THIS IS PATCH 1
pick 1eb0cd5 osd: only verfy OSDMap crc if it is known
pick 3f6be22 doc: Updates man page for ceph-disk.
pick 2862a49 doc: Adds updated man page for ceph-disk under man/您可以手动将a302c44替换为85050faa (您可以忽略该注释,它将不会被考虑在内)。保存并关闭编辑器后,git rebase将删除补丁1提交(因为它不会在任何地方显示),而使用补丁3提交。
https://stackoverflow.com/questions/28640548
复制相似问题