我在 Git 中有 2 个独立的开发分支,develop1 和 develop2。 这 2 个分支有一个共同的祖先,在 master 上提交 C1。这 2 个分支包含 2 个产品发布周期,将在大约 6 个月内加入(都 merge 到 master 中)。
在 6 个月的大 merge 之前,分支 develop1 和 develop2 将保持分离,develop1 <-> develop2 之间不会进行 merge 。
但是,一些更改(如项目结构、脚本更改)将在两个分支上完成。
我的想法是在 develop1 上执行这些更改,然后将它们挑选到 develop2。
我的问题:
- 这样做明智吗?
- 这会导致以后执行大 merge 时出现问题吗?
我问这个问题的原因是因为我读到过 cherry-pick 可能会导致问题,因为会创建新的提交。
一个引用列出了可能的问题: http://blog.founddrama.net/2013/07/git-cherry-pick/
最佳答案
我总是提到同样的问题与 cherry-pick (如“git - cherry-pick - HOWTO / WHYTO”)
第二个问题在这里不相关,因为你只是挑选那些独立工作的提交,并且在它们被 merge 到 master 之前在第二个分支上进行了测试/验证。
但是当 develop1
时第一个可能是个问题, 然后 develop2
将 merge 到 master。 merge 本身应该没问题。
但是,如“Git cherry pick and datamodel integrity”中所述,更改将在 merge 提交的历史记录中出现两次。
如果可能,一次develop1
merge 到master
, 我会 rebase develop2
在更新的 origin/master
之上, merge 前 develop2
返回master
: 这会检测到相同的提交并且不会应用它们两次。
关于Git - 2个独立的开发分支 - 是否 cherry-pick ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32432350/