如何使移动文件的冲突可见

时间:2016-08-29 09:36:31

标签: git intellij-idea merge

我正在合并两个分支机构。两者都有重大变化。两个分支都获得了额外的功能,其中一个分支包括移动许多文件。

合并时,我发现有这些功能变化相互交叉的文件中存在冲突。这些是保留相同名称和放置的文件。这些冲突很容易解决。

但有些(我不知道)移动的文件也发生了变化。我需要将更改的功能插入到新放置的文件中。除了按文件分析项目文件外,我怎样才能找到它们?

有IntelliJ和git一些自动化支持这些现在看不见的冲突吗?我不想要太多,移动(在一个分支中)的简单文件列表(在另一个分支中)内容对于第一步就足够了。

好的,我可以以某种方式逐个检查这些移动的文件。但后来我想将任何文件与另一个分支中前一个地方的文件进行比较

3 个答案:

答案 0 :(得分:1)

使用git diff -M选项告诉git检测重命名。如果更改了大部分文件,您可能需要通过给它一个参数来提高-M的阈值。只有-M-M50%-M5相同,所有这三个意味着"如果文件与另一个已删除的文件重命名,则认为该文件是50%相似的"。

答案 1 :(得分:0)

不确定IntelliJ,但我猜你可以在git中使用diff工具配置超出比较的工具。 例如:git config --global difftool.bc3.path“C:\ apps \ bc \ BCompare.exe”  然后

git difftool<>

答案 2 :(得分:0)

我找到了解决方案:

  1. 将分支B拉到分支A。
  2. 进一步的工作将在A组。
  3. 在IntelliJ的项目视图中,我选择整个项目。右键单击 - > git - >与分支比较 - >乙
  4. 现在我有了所有已更改文件的列表,移动的文件在该列表中标记为已移动的文件。我可以一个接一个地与他们合作。