创建并合并一个Git分支到史诗分支

3
我正在开展一个项目,例如SO/bubbleSort,在那里我需要创建一个名为feature/version-1的史诗分支,因此从这个史诗分支中有几个开发人员进行开发,所以他们需要从史诗分支创建一个单独的分支。我的问题是如何合并这些更改并保持史诗分支具有最新的更改。
我已经按照以下步骤操作。它是否正确?
第一步切换到develop分支
``` git checkout develop ```
在develop分支下创建一个史诗分支
``` git checkout -b feature/version-1 develop ```
从史诗分支创建另一个用于我的开发的分支
``` git checkout -b myVersion feature/version-1 ```
完成我的实现后,我需要做什么?
我需要从我的分支给出PR请求到史诗分支并合并吗?还是有其他方法可以满足我的需求?
1个回答

1

因此,他们需要从epic分支创建一个单独的分支。

不需要,除非他们的每个工作都如此不同,需要一个长期存在的自己的分支。
如果不是这样,他们可以在自己的本地 feature/version-1 分支上工作:

git fetch
git checkout feature/version-1

这将自动跟踪远程的origin/feature/version-1

他们只需要在推送提交前进行变基,以便将他们本地的工作(在自己的feature/version-1分支上的提交)重新基于已由其他人在该分支上推送的内容(在origin/feature/version-1中)。

 git fetch
 git checkout feature/version-1
 git rebase origin/feature/version-1

这样,同步是在本地完成的(通过变基)。任何合并冲突都在此解决。
然后开发人员在推送之前进行最后一次测试。


楼主补充道:

每个人的工作都不同,而且一个实现依赖于另一个人的实现

因此,将自己的分支推送并在上游史诗分支上创建PR是一个好方法。
但是,在强制推送自己的分支之前,每个开发人员都需要将自己的分支重新基于史诗分支,并使其与已经被接受的内容同步。
然后,一旦推送完成,他们可以进行PR(第一次推送后),或者PR将自动更新(下一次使用push --force:由于每个开发人员都是在自己的分支上工作,因此他们可以强制推送而没有负面影响)。

git fetch
git checkout myVersion  
git rebase origin/feature/version-1
git push --force

谢谢,VonC。这里每个人的工作都是如此不同,而一个实现取决于另一个人的实现。 - Hariprasath
感谢VonC提供的详细解释。 - Hariprasath

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接