Git - 2 个独立的开发分支 - 是否采摘?
Git - 2 separate develop branches - cherrypicking or not?
我在 Git、develop1 和 develop2 中有 2 个独立的开发分支。
这 2 个分支有一个共同的祖先,在 master 上提交 C1。这 2 个分支包含 2 个产品发布周期,将在大约 6 个月内加入(均合并到 master)。
6个月大合并之前,分支develop1和develop2将保持分离,develop1 <-> develop2之间不合并将完成。
但是,一些更改(如项目结构、脚本更改)将在两个分支上进行。
我的想法是在 develop1 上执行这些更改,然后将它们挑选到 develop2。
我的问题:
- 这样做明智吗?
- 这会导致以后执行大合并时出现问题吗?
我问这个问题的原因是因为我读到过挑选樱桃可能会导致问题,因为创建了新的提交。
一个参考列出了可能的问题:
http://blog.founddrama.net/2013/07/git-cherry-pick/
我总是提到同样的问题与樱桃采摘(如“git - cherry-pick - HOWTO / WHYTO”)
- duplicate commits
- functional dependencies
第二个问题在这里不相关,因为你只是挑选自己工作的提交,并且在它们被合并到 master 之前 tested/validated 在第二个分支上。
但是当develop1
时第一个可能是个问题,然后 develop2
将被合并到master.合并本身应该没问题。
但是,正如“Git cherry pick and datamodel integrity”中所解释的,一个更改将在合并提交的历史记录中出现两次。
如果可能,一旦 develop1
合并到 master
,我会在更新的 origin/master
之上重新设置 develop2
,然后再合并 develop2
到 master
:这将检测相同的提交并且不会应用它们两次。
我在 Git、develop1 和 develop2 中有 2 个独立的开发分支。 这 2 个分支有一个共同的祖先,在 master 上提交 C1。这 2 个分支包含 2 个产品发布周期,将在大约 6 个月内加入(均合并到 master)。
6个月大合并之前,分支develop1和develop2将保持分离,develop1 <-> develop2之间不合并将完成。
但是,一些更改(如项目结构、脚本更改)将在两个分支上进行。
我的想法是在 develop1 上执行这些更改,然后将它们挑选到 develop2。
我的问题:
- 这样做明智吗?
- 这会导致以后执行大合并时出现问题吗?
我问这个问题的原因是因为我读到过挑选樱桃可能会导致问题,因为创建了新的提交。
一个参考列出了可能的问题: http://blog.founddrama.net/2013/07/git-cherry-pick/
我总是提到同样的问题与樱桃采摘(如“git - cherry-pick - HOWTO / WHYTO”)
- duplicate commits
- functional dependencies
第二个问题在这里不相关,因为你只是挑选自己工作的提交,并且在它们被合并到 master 之前 tested/validated 在第二个分支上。
但是当develop1
时第一个可能是个问题,然后 develop2
将被合并到master.合并本身应该没问题。
但是,正如“Git cherry pick and datamodel integrity”中所解释的,一个更改将在合并提交的历史记录中出现两次。
如果可能,一旦 develop1
合并到 master
,我会在更新的 origin/master
之上重新设置 develop2
,然后再合并 develop2
到 master
:这将检测相同的提交并且不会应用它们两次。