Git拉取请求中显示未更改的文件

3
我们目前在一个5人团队中使用Git (Visual Studio)。我们当前遵循的流程如下:
  1. 用户在开始工作之前从主分支创建一个特性分支。
  2. 他们实施了他们的特性。
  3. 当实现完成时,他们将从主分支合并到他们的特性分支(并解决任何冲突),以便在特性分支中拥有最新的更改。
  4. 创建拉取请求供某人查看,如果一切正常,则将特性分支合并到主分支中。
我们面临的问题是拉取请求显示了不属于该特性的更改。因此,如果DeveloperA完成了一个特性,而DeveloperB仍在努力工作,则当DeveloperB创建拉取请求时,它将包含DeveloperA的文件(因为在步骤3中)。这让评审者不仅看到DeveloperB的更改,还会看到DeveloperA的更改。我们是否有更好的流程可以遵循?

我们团队也遇到了这个问题。尽管每个人都有相同的autocrlf设置,但似乎某些东西会悄悄地改变行尾。因此它声称空格发生了变化。 - Moby Disk
1个回答

2

我建议每个开发人员都应该有自己的特性分支,并且只能从主分支更新。这样做可以使开发人员仅具有特定于特性分支的更改,不应从其他特性分支中拉取更改。

  1. 从主分支创建特性分支
  2. DevA 对特性分支进行更改
  3. DevB 对其自己的特性分支进行更改
  4. DevA 发送拉取请求以合并到主分支
  5. 将 DevA 的更改合并到主分支
  6. DevB 现在必须使用主分支更新其特性分支
  7. DevB 向主分支发送拉取请求

这有所帮助吗?


这就是我们所拥有的。当 DevB 发送一个拉取请求时,它会显示 DevA 的更改(因为步骤 6)。比较显示这些文件没有更改,但最好将它们从拉取请求中排除掉。 - user1786107
由于DevA的更改现已合并到主分支,如果DevB使用新的主分支更新其分支,然后发送拉取请求。此时主分支和DevB功能分支之间唯一的更改应该是DevB功能分支中所做的唯一更改。我怀疑当DevB发送拉取请求时为什么会看到DevA的更改,原因在于DevA的更改尚未合并到主分支,但它们必须已被拉取或合并到DevB功能分支中。 - C Kingsley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接