我正在为一个团队建立一个工作流程。将有一个主要的回购,并且将指示人们在github上分配回购,然后将其克隆到本地机器。提交代码更新的过程看起来非常像:
经过一段时间后,我希望让人们确保他们的主副本是最新的,并要求他们这样做:
问题:
然后该人如何使用新信息更新其feature_branch,因为他们分叉的主副本发生了变化?
是否使用git diff查看其功能分支与新主分支之间的差异并手动调整其功能分支?或者是让他们从新主分支创建一个新分支,并将代码从旧分支复制并粘贴到新分支?
这两个过程看起来有点笨拙/手动,但我看不到任何其他方式。
我找到了confirm the general process的答案,但没有讨论更新功能分支的最佳实践。
感谢。
答案 0 :(得分:0)
他们可以做git fetch origin。然后查看所有最新的更改:git log -p HEAD ... origin。如果他们对这些变化感到满意,那么他们会做git merge origin
答案 1 :(得分:0)
在您的工作流程中,我可以看到您的团队从未将其功能分支推送到他们的分支,因此他们可以在本地中对其进行优化以获得与上游/主人约会的日期。
以下工作流程:
Teammate在本地工作:
git checkout -b feature_branch
git commit
Teammate使其分叉更新:
git fetch upstream
git checkout master
git merge upstream/master
git push origin master
队友使用上游的发展来更新其功能(在本地):
git fetch upstream
git checkout feature_branch
git rebase upstream/master
(或者您刚刚执行了上一步:git rebase master
)完成后,在将feature_branch推送到fork后,将功能分支和从fork / feature_branch请求拉取请求发送到original_repo / master。
这样,您就不必git push --force
。
如果你已经将你的功能推到了前叉,你就必须这样做。