git - 在功能分支上团队工作的最佳实践是什么?

时间:2014-07-12 20:51:36

标签: git branching-and-merging

我们有以下分支机构:
masterdevelop
我们从feature创建了一个新的分支develop,并指派了一个团队来处理它 在开发过程中:

  • remote develop接受其他团队的新提交。
  • remote feature接受由其工作的团队成员推送的新提交。

有时会将推送到develop的热门修补程序也需要在feature中进行更新。
当然,在周期结束时,feature应该合并到develop

我们没有一个工作流来保持feature并且它的本地副本与develop同步,然后确保所有本地副本都基于相同的提交。

我建议的工作流程如下:

develop

保持同步
  1. 新提交被推送到develop
  2. 我重新定义feature分支:

    git checkout feature
    git pull --rebase origin develop
    git push origin feature
    
  3. 所有本地feature副本都会运行:git pull --rebase origin feature

  4. 从本地副本更新feature分支

    1. 团队成员已完成feature分支
    2. 的工作
    3. 他确保他的本地副本是最新的:git pull --rebase origin feature
    4. 他将提交合并到feature

      git checkout feature
      git pull origin feature
      git merge local-feature
      git push origin feature
      
    5. feature分支合并到develop

      1. 我确保功能是最新的develop

        git checkout feature
        git pull --rebase origin develop
        
      2. 我合并到develop

        git checkout develop
        git pull origin develop
        git merge feature
        git push origin develop
        
      3. 我们完成所有pull --rebase内容以保持线性流量并确保所有更改都使用快进合并。
        但是,正如您所知,每次都有很多命令可以运行。

        这真的有必要吗?我们是以“正确”的方式做到这一点吗?
        你会建议另一个流程吗?

1 个答案:

答案 0 :(得分:3)

我假设您遵循此模型:http://nvie.com/posts/a-successful-git-branching-model/

enter image description here

我认为大多数演示的命令都是正确的,但您可以通过实施git alliasses来简化操作