Git branch vs Git fork

时间:2016-06-29 21:09:58

标签: git git-branch

我有一个普遍的疑问。假设有一个带有master分支的git repo作为开发分支,你想在不影响master分支的情况下进行一些更改,然后你想稍后合并它。什么是更好的方法?

  1. 在同一个仓库中创建新分支,然后将其合并到master。
  2. 通过分叉创建新的repo,然后将其合并到master。

4 个答案:

答案 0 :(得分:4)

如果您确定最终将最终与主分支合并和/或您的更改相对较小(错误修复,新功能),那么肯定会创建一个新分支。如果您要进行大量更改(可能会成为新项目),那么只能进行分叉。这是我遵循的经验法则(因为它遵循git的基本项目设计元素),所以我希望有所帮助。

答案 1 :(得分:2)

我强烈建议在同一个存储库中创建一个新分支。在新功能完成之前,您将在此新分支中完成工作。当它最终完成后,将其合并回主人。这遵循git的设计。

真的没有分叉。只有原始的克隆。您创建的克隆越多,事情就越复杂,您需要做更多的工作才能将更改返回到原始存储库中。

答案 2 :(得分:0)

我会建议以下战略。

  1. Master - >生产部署了一个和所有来源:

  2. develop - >始终与Master

    同步
    • 特征/分公司。
      • 具有feature / Branch基础的多个开发人员分支。
        • 将PR提升为feature / Branch。
      • 完成功能开发后测试功能/分支,创建PR以开发UAT / SIT测试分支。
    • 修正错误/分支。
  3. develop / Fork - >此分支应始终与develop同步。您可以通过在Bitbucket Server上标记“启用强制同步”来启用此功能。

    • 生产错误修正/分支。
      • 完成错误修复后,将PR提升为开发/ Fork分支。
      • 将develop / Fork分支部署到UAT / SIT。
      • 然后提出PR以开发合并错误修正。

答案 3 :(得分:0)

  

分叉可能是“公共”协作和试验的一种非常好的模式,但是当预期的用例是许多朝着统一目标努力的人时,分支往往更适合

因此

如果选择选项#1 -如果您是团队合作并开发软件,则为

如果要对任何开源项目做出贡献,请选择选项#2