搜索共享文件的git分支

BLa*_*uRE 8 git diff git-diff merge-conflict-resolution

我想在git分支中搜索我和所有其他文件之间共同修改的文件,作为早期冲突检测的方法.有没有一种方法让git允许我这样做,我忽略(或通过shell脚本)?

我现在想到的方法是作为post-commit钩子:

  1. git diff --name-only master在我正在的分支上执行a ,以确定我将在其他分支中搜索的所有文件(以生成冲突分支的列表)
  2. 通过远程存储库搜索/ grep'ing我在每个人的其他远程分支中获得的每个文件(在上一步中)git diff --name-only origin/<remote branch> origin/master
  3. 根据search/grep的结果返回包含一个或多个冲突文件的分支列表.

Von*_*onC 4

“如何在 git 中预览合并? ”中列出了大多数可用的方法。

您提到的第二步是最快的步骤之一(与实际执行合并和--no-ff相比--no-commit

git diff --name-status origin/abranch
Run Code Online (Sandbox Code Playgroud)

(与默认情况下的 HEAD 相比)

您可以添加状态过滤器,因为您搜索修改的文件(修改过的分支之间的公共文件)

不需要第一步:第二步会直接列出与HEAD相比的常见修改文件。

git diff --name-status --diff-filter=M origin/abranch
Run Code Online (Sandbox Code Playgroud)