在大多数孤立的分支机构中工作的用户的适当 git 礼节?

Proper git etiquette for users working in mostly-isolated branches?

好的,所以我是这个项目的 GitHub 代码 QA 人员,我从来没有做过这样的事情,所以我正在努力学习在它发生时我需要做什么(非常令人兴奋)。

情况是我们的开发人员(只有我们 5 个人)正在为一个项目执行不同的任务,而且我们都在自己的分支机构中。现在,当我们完成它时,我们与 master 合并并开始下一个任务。这很好,但作为 QA 人员,我如何协调这些合并?我们现在的做法是我解决冲突,但我不知道该怎么做。我看到我的选项是:

  1. 让开发人员在他们希望我将他们的工作合并到 master 时通知我,此时我拉动更新他们的分支,然后我进行合并,或者
  2. 让他们启动合并,然后我解决冲突。

目前我们正在做第一个选项。然而,对我来说,2. 听起来显然是更好的选择,但据我了解 git,当您尝试合并分支时,本地计算机上会产生冲突。我不知道有什么方法可以产生合并冲突,然后将其发送给其他人让他们解决。

我想我也乐于讨论如何重构这种范式,这样我们就不会再遇到此类问题。我只需要在这里澄清一下,主要是。

GitHub Pull Request 背后的秘密是开发人员不必等到他们的工作完成再通知你。

一旦他们推送到 GitHub(在他们自己的分支上),他们就可以询问并提出拉取请求 即使 GitHub 回购是原始的(而不是叉子。
您可以在 one 回购的分支之间进行 PR(而不是在分叉回购和原始回购之间进行 PR):这是“Shared repository model”。

Pull Request 背后的想法是,每次开发人员推送到他们的分支时,他们都会更新自己,even push --force .

这允许维护者在任何合并之前异步审查代码,并对代码留下一些评论。

正是这种永久性的审查和协作赋予了 分布式 VCS(版本控制系统) 它的吸引力和力量。
反馈循环越短,修复和改进就能越早成为最终代码的一部分,最终代码将合并到目标分支。