当我在 github 存储库中尝试拉取请求时,我在多个文件中遇到了合并冲突。虽然我知道如何在正常情况下解决合并冲突,但我的情况似乎更令人费解。
主分支: 我要合并到的 Master 没有子模块。它依赖于另一个 3rd 方 repo 的库,但不是将其添加为子模块,而是最初创建了一个快照。假设 dir2 是第 3 方依赖项的快照,文件夹结构如下所示:/dir1/ 其中不是子模块,而只是一个快照。
mybranch 发行PR: 现在在我的分支“mybranch”中,我用第 3 方子模块替换了快照,但它仍然具有相同的结构和相同的文件:/dir1/ 其中 dir2 现在是一个子模块
当我从“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 没有检测到它。
我该如何解决这种情况?感谢您的帮助
我不是 GIT 专家,所以不想尝试一些大胆的事情,也不想搞乱我们的 repo 状态。