如何解决在git中重命名文件夹的冲突? [英] How to resolve conflict of renamed folder of file in git?
问题描述
我有以下问题:
对于两个分支Branch1和Branch2,我有一些常见的commit A.
在Branch1中,我更改了文件( BAD_folder / somefile.txt
)。更改被推送到服务器。在Branch2中,我将 BAD_folder
重命名为文件夹
,并在 somefile.txt中进行了一些更改
。我想将Branch1与Branch2合并,但在 BAD_folder / somefile.txt
文件中出现合并冲突。
如何解决这个问题?
您可以将文件夹
code> BAD_folder ,合并或重新分配 Branch2
(当这个分支为本地时可能会更好)并重新命名文件夹。
-
git checkout -b _tmp Branch1
-
git mv folder BAD_folder&& git commit
-
git merge Branch2
-
git mv BAD_folder&& git commit
当您执行rebase时,您可以额外执行 git rebase -i Branch1
并删除两个 git mv
操作。
<$ c如果文件名没有改变,点3中的$ c> merge 效果会更好,但您仍然需要解决冲突。
I have following problem:
I have some common commit A for two branches Branch1 and Branch2.
- Branch1 is a public branch (lies on server)
- Branch2 is a local branch
In Branch1 I changed file (BAD_folder/somefile.txt
). Changes were pushed to server. In Branch2 I renamed BAD_folder
to folder
and made some changes in somefile.txt
. I want to merge Branch1 with Branch2, but I get a merge conflict in BAD_folder/somefile.txt
file.
How can I resolve this?
You can rename folder
to BAD_folder
, merge or rebase Branch2
(which might be better when this branch is local) and rename folder back.
git checkout -b _tmp Branch1
git mv folder BAD_folder && git commit
git merge Branch2
git mv BAD_folder && git commit
When you did a rebase, you can do an additional git rebase -i Branch1
and remove the two git mv
operations.
merge
in point 3 works much better when filenames did not change but you might still have to resolve conflicts.
这篇关于如何解决在git中重命名文件夹的冲突?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!