大家是如何同步别人在 Gerrit 上打 Patch 到本地的?

2015-07-06 20:08:59 +08:00
 mintist

比如场景是A和B协同开发:

A在master分之上新提交了一个commit,然后push到Gerrit的Review Repo上。

B去Review了之后,发现了一些错误,通过checkout到本地FETCH_HEAD并修改了一些错误,然后--amend之后,在原来的基础上提交了Patch Set 2

那么此时A该如何在不生成新的commit的前提下,优雅的同步B打的Patch Set 2到自己本地?

PS:这里不改变每次打patch的change-id。

7304 次点击
所在节点    git
7 条回复
shibo501c
2015-07-07 10:09:14 +08:00
A reset到提交前的commit,然后再把B的checkout到本地呢?
losincasablanca
2015-07-07 12:51:56 +08:00
1.fetch Patch Set 2
2.merge to local branch
mintist
2015-07-07 19:23:56 +08:00
@shibo501c 这不就不太优雅了么,没有直接更新B的新patch到当前commit的操作么
mintist
2015-07-07 19:28:13 +08:00
@losincasablanca 你是说新建个本地分支么?还是说直接merge到master上,如果是后者,会产生新的commit,那么还要在本地cherry-pick才能再打新的patch到原来的commit上。

不晓得我的理解对不对
jiangbingo
2017-06-09 16:37:00 +08:00
git pull -f origin patch set2 ?
jiangbingo
2020-04-01 17:10:17 +08:00
@jiangbingo 三年过去了,我还在疑惑 gerrit 这个问题。
jiangbingo
2020-04-01 17:19:53 +08:00
目前的操作是两个笨办法
## gerrit web 上
- 在 A 的 ticket 上通过菜单 edit-add 增加改动的文件
- done editing -publishement 生成新的 patch
这种方法只适用同步没有 conflict 的 ticket

## 本地
- 将 B checkout 出来生成 1.diff
- apply 1.diff 到 A 上,有冲突解决冲突。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/203761

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX