关于GitHub repos,fork或创建新分支的最佳实践

Ero*_*lin 14 git github git-merge git-branch git-fork

我正在寻找最佳实践,在GitHub上分叉和分支.我在GitHub中读过这个Forking vs. Branching,但它并不重要.

我们的5人团队正在使用相同的存储库,我们希望避免在代码中合并问题,冲突或回归.目标是让5个人在项目的不同部分工作,通常在同一个文件上.

我想知道它是否值得:

  • 分叉项目,工作和创建拉取请求,这样每个人都可以轻松地查看代码,或者
  • 创建一个新的分支 - 在工作完成后工作并在master上合并.

Bal*_*zar 22

对我来说,处理具有多个开发人员的项目时的最佳做法是使用gitflow分支模型.

首先,主分支现在仅用于跟踪语义版本控制后应用程序,主要版本,次要版本或补丁版本的版本.

开发分支将是您项目的核心,因为它将在不同功能和您的版本之间架起桥梁.

这个系统有助于减少合并的数量,就像一个简单的分支系统一样,但是添加了语义逻辑,以及它附带的友好和简单的命令.

有关gitflow的更多信息,您可以点击此链接.

  • 只是为了好玩,@Aperçu现在和我在同一个办公室工作,坐在我面前.我们直到上周才相互认识,这是巧合.当他查看我的StackOverflow帐户时,我们注意到了它. (4认同)

Jon*_*nah 11

维护叉会引入额外的开销,因为每个fork需要从上游提取更改.当每个开发人员都可以访问共享存储库时,我认为这样做没有任何好处.

拉取请求对于代码审查可能是非常有用的机制,但它们并不要求您使用分叉.您可以在同一个存储库中创建分支,并使用拉取请求来管理将它们合并到主分支中.

  • 如果你想强制进行代码审查,这是你的项目的政策,为什么它会惹恼人们呢? (2认同)

Wal*_*man 5

在我的办公室,我们有类似的情况:一个大型项目,其中有五个或更多开发人员具有提交访问权限,并且通常至少有三个开发人员在任何时候都在处理它。我们使用带有分支和拉取请求的单个存储库管理所有内容,并且我们没有遇到任何问题(无论如何都是由我们的源代码控制设置引起的)。

拉取请求是一种向其他开发人员征求代码审查的绝佳方式,当这些开发人员第二天可能会使用您的代码时,这一点尤其重要。另一方面,分叉并没有真正提供任何好处。这是允许更广泛地访问受控代码库的问题的解决方案,并且当每个人都对 repo 具有提交访问权限时,该问题就不存在了。