我正在开发一个项目,例如 SO/bubbleSort,我需要创建一个名为 feature/version-1 的史诗分支,因此从这个史诗分支中很少有开发人员进行开发,因此为此,他们需要创建一个将分支与史诗分支分开。我的问题是我们如何合并这些更改并保留最新更改的史诗分支。
我已按照以下步骤执行此操作。这是对的吗?
第一步结账到develop分支
git checkout 开发
在develop分支下创建epic分支
git checkout -b feature/version-1 开发
从史诗分支为我的开发创建另一个分支
git checkout -b myVersion 功能/版本-1
实施后我需要做什么?
我需要从我的分支向史诗分支提供 PR 并合并吗?或者有什么办法可以满足我的需求吗?
为此,他们需要从史诗分支创建一个单独的分支
不,他们不这样做,除非他们的每件作品都如此不同,以至于需要一个自己的持久分支。
如果没有,他们可以在自己的本地工作feature/version-1
branch:
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
这样,同步就在本地完成(通过变基)。任何合并冲突都在那里解决。
然后开发人员在推送之前进行最后一次测试。
OP 补充道:
他们每个人的工作都是如此不同,一个人的实现取决于另一个人的实现
那么是的,推送自己的分支并向上游的史诗分支做 PR 是一个好方法。
但是每个开发人员在强制推送自己的分支之前都需要在史诗分支之上重新调整自己的分支,以便将他们的工作与史诗分支中接受的内容同步。
然后,一旦推送,他们可以做一个 PR(在第一次推送之后),或者 PR 会自动更新(在下一次推送之后)push --force
:由于每个开发人员都是唯一在自己的分支上工作的人,因此他们可以强制推送它而不会产生负面后果)。
git fetch
git checkout myVersion
git rebase origin/feature/version-1
git push --force
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)