git - 如何获得 merge 提交时的冲突文件列表(事后)

标签 git merge conflict git-show

我正在尝试查找过去存在冲突的项目的 merge 修订。有没有比手动复制 merge 更简单的方法呢?因为我一直没能找到让 git show 只列出有冲突的文件(如果有的话)的方法。

最佳答案

一般情况下是不可能的。

唯一可靠的方法是重复 merge ,即使那样,您也必须知道一些从存储库本身无法知道的事情。特别是,您必须知道:

  • -X find-renames 的参数,如果有这样的参数的话
  • 是否提供了-X ours-X theirs
  • -s 的参数,如果有的话

由于大多数 merge 使用这些参数,您可以通过重复 merge 来获得非常接近的结果,这比任何替代方法都容易。 (如果您有 git worktree add 或愿意进行克隆,则很容易实现自动化。)

(如果 git merge 将这些 merge 参数作为注释存储在 merge 提交的标题行中,那就太好了。Git 必须将它们保存在一个文件中,以便在中间停止的 merge ,但这显然是可能的。)

关于git - 如何获得 merge 提交时的冲突文件列表(事后),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58573619/

相关文章:

git - 标签和分支 merge

git - Git Desktop 中的 Squash 提交

join - 如何将pandas数据帧的每一行附加到另一个数据帧的每一行

c++ - 在 C++ 中通过引用传递未知大小的数组

php - Traits - 与父类的属性冲突

jquery - Prototype 和 jQuery 一起?

git - merge 提交的 git show --raw 输出中的 MM 代表什么?

linux - 本地网络上的 Git 设置

javascript - 将数组中未知数量的对象合并为单个js对象

javascript - 如何确定我的网站上是否存在 javascript 冲突?