如何解决 git 中文件重命名文件夹的冲突?

How to resolve conflict of renamed folder of file in git?

我有以下问题:

我有一些共同的提交 A 用于两个分支 Branch1 和 Branch2。

在 Branch1 中,我更改了文件 (BAD_folder/somefile.txt)。更改已推送到服务器。在 Branch2 中,我将 BAD_folder 重命名为 folder 并在 somefile.txt 中进行了一些更改。我想将 Branch1 与 Branch2 合并,但我在 BAD_folder/somefile.txt 文件中遇到合并冲突。

我该如何解决这个问题?

您可以将 folder 重命名为 BAD_folder,合并或变基 Branch2(当此分支是本地分支时可能更好)并将文件夹重命名回来。

  1. git checkout -b _tmp Branch1
  2. git mv folder BAD_folder && git commit
  3. git merge Branch2
  4. git mv BAD_folder && git commit

当你做了一个 rebase 时,你可以再做一个 git rebase -i Branch1 并删除两个 git mv 操作。

merge 在文件名未更改但您可能仍需要解决冲突时,第 3 点的效果要好得多。