我们有以下分支机构:
master
和develop
。
我们从feature
创建了一个新的分支develop
,并指派了一个团队来处理它
在开发过程中:
develop
接受其他团队的新提交。feature
接受由其工作的团队成员推送的新提交。有时会将推送到develop
的热门修补程序也需要在feature
中进行更新。
当然,在周期结束时,feature
应该合并到develop
。
我们没有一个工作流来保持feature
并且它的本地副本与develop
同步,然后确保所有本地副本都基于相同的提交。
我建议的工作流程如下:
与develop
develop
我重新定义feature
分支:
git checkout feature
git pull --rebase origin develop
git push origin feature
所有本地feature
副本都会运行:git pull --rebase origin feature
从本地副本更新feature
分支
feature
分支git pull --rebase origin feature
他将提交合并到feature
:
git checkout feature
git pull origin feature
git merge local-feature
git push origin feature
将feature
分支合并到develop
我确保功能是最新的develop
:
git checkout feature
git pull --rebase origin develop
我合并到develop
:
git checkout develop
git pull origin develop
git merge feature
git push origin develop
我们完成所有pull --rebase
内容以保持线性流量并确保所有更改都使用快进合并。
但是,正如您所知,每次都有很多命令可以运行。
这真的有必要吗?我们是以“正确”的方式做到这一点吗?
你会建议另一个流程吗?
答案 0 :(得分:3)
我假设您遵循此模型:http://nvie.com/posts/a-successful-git-branching-model/
我认为大多数演示的命令都是正确的,但您可以通过实施git alliasses来简化操作