我正在开发一个项目,例如SO / bubbleSort,我需要创建一个名为feature / version-1的史诗分支,所以从这个史诗分支中开发的开发人员很少,所以他们需要从史诗分支创建一个单独的分支。我的问题是我们如何合并这些变化并保持史诗分支的最新变化。
我已按照以下步骤执行此操作。这是对的吗?
结束发展分支的第一步
git checkout develop
在开发分支
下创建一个史诗分支git checkout -b feature / version-1 develop
从史诗分支
为我的开发创建另一个分支git checkout -b myVersion feature / version-1
完成我的实施后,我需要做什么?
我是否需要从我的分支机构向史诗分支机构提供PR并合并?或者有什么方法可以满足我的需求吗?
答案 0 :(得分:1)
不,他们没有,除非他们的每一项工作都如此不同,否则它需要一个自己的长期分支 如果没有,他们可以在自己的本地所以为此,他们需要从史诗分支创建一个单独的分支
feature/version-1
分支上工作:
git fetch
git checkout feature/version-1
这将自动跟踪远程origin/feature/version-1
他们只需要在推送他们的提交之前做一个rebase,以便在该分支上的其他人已经推送的内容之上重新定义他们的本地工作(在他们自己的feature/version-1
分支中提交)(在{ {1}})。
origin/feature/version-1
这样,同步就在本地完成(通过rebase)。任何合并冲突都在那里得到解决 然后开发人员在推送之前进行最后一次测试。
OP补充道:
这里他们的每项工作都是如此不同,一种实施方式取决于其他人的实施
然后是的,推动他们自己的分支并向上游史诗分支做PR是一个好方法
但是每个开发人员需要在强制推动他们自己的分支之前,在史诗般的分支之上重新设置他/她自己的分支,以便将他们的工作与史诗分支中接受的内容同步。
然后,一旦推动,他们可以做PR(第一次推送后),或PR将自动更新(在下一个 git fetch
git checkout feature/version-1
git rebase origin/feature/version-1
之后:因为每个开发人员是唯一一个在他们自己的分支上工作的人,他们可以强迫推动它没有负面后果)。
push --force