git 如何解决合并冲突

ohtdti5x  于 2023-03-28  发布在  Git
关注(0)|答案(1)|浏览(174)

当我在github仓库中尝试pull request时,我在多个文件中遇到了合并冲突。虽然我知道如何在正常情况下解决合并冲突,但我的情况似乎更复杂。

**Master分支:**我正在合并的Master没有子模块。它依赖于另一个第三方repo的库,但没有将其添加为子模块,而是最初创建了一个快照。假设dir 2是第三方依赖的快照,文件夹结构如下所示:/dir 1/其中不是子模块,而只是快照。
**mybranch发出PR:**现在在我的分支“mybranch”中,我用第三方子模块替换了快照,但它仍然具有相同的结构和相同的文件:/dir 1/其中dir 2现在是子模块

当我从“mybranch”发出PR时,我在主仓库中的几个文件中遇到了合并冲突(没有问题)。为了解决它们,我首先发出“git pull origin master”,当我得到以下错误时:

* branch            master     -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
error: The following untracked working tree files would be overwritten by checkout:
<dir2>/file1
<dir2>/file2
<dir2>/file3
...
..

Please move or remove them before you switch branches.
Aborting
could not detach HEAD

这个问题显然是因为快照(在masterR中)和子模块(在mybranch中)具有相同的文件名,但是git没有检测到它。
如何解决这种情况?谢谢您的帮助
我不是一个GITMaven,所以不想尝试一些大胆的东西,并搞乱了我们的回购状态。

i1icjdpr

i1icjdpr1#

下面是一种方法:
1.从最新的master创建并检出一个新分支。
1.从原始分支 checkout 更改。git checkout myBranch --
1.创建新的PR。
它回避了与老主人的合并。如果你做得很快,希望主人不会改变太多:)
不是最好的方法来解决它(创建新的公关是相当丑陋),但它是相当简单和一个好的快速修复。

相关问题