如何解决在git中重命名文件夹的冲突? [英] How to resolve conflict of renamed folder of file in git?

查看:1554
本文介绍了如何解决在git中重命名文件夹的冲突?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下问题:

对于两个分支Branch1和Branch2,我有一些常见的commit A.


  • Branch1是一个公共分支(位于服务器上)

  • Branch2是本地分支



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



如何解决这个问题?

解决方案

您可以将文件夹 code> 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 操作。



<$ 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.

  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

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆