git - 两个分支添加的相同文件导致奇怪的 merge 冲突

标签 git git-merge merge-conflict-resolution

我目前有两个分支正在工作。由于软件更新,我不得不完全更改文件夹结构。因此我移动了两个分支中的文件。现在我想将我的工作分支 merge 到我的主分支中。

问题是存在 merge 冲突,告诉我文件仅由一个分支添加(由他们添加由我们添加)。问题是该文件已被两个 分支添加。

例如,我在 textures/texture1.png 中有一个纹理。 master 分支只是将它移动到正确的位置(在 misc/textures/texture1.png 之前)。工作分支将它移动到完全相同的位置,然后对其进行编辑。该文件的 merge 冲突说:

    added by us: textures/texture1.png

关键是这不是我想要的文件!我想要其他分支的文件!
当我做的时候

git checkout --theirs textures/texture1.png

我明白了

error: path 'textures/texture1.png' does not have their veresion

但是这个文件确实存在!我最近添加了它!这就是我想要的文件

如何解决这些冲突?

(如果需要更多信息!)

最佳答案

你可以随时尝试

git mergetool

这将打开一个 GUI,您只需单击相应的链接即可在其中选择所需的更改。有时您需要进行手动更改。但在您的情况下,您只需选择一个文件图像。

关于git - 两个分支添加的相同文件导致奇怪的 merge 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17640019/

相关文章:

git - 如何检查 git branch 是否有跟踪分支?

Xcode 无法将功能分支 merge 回主分支“源代码管理操作失败,因为找不到文件 ___

git - merge 带有标签的分支 - Gitlab

git - 查找 merge 提交可以撤消分支之一的先前更改?

visual-studio-2013 - TFS 2013 : Automerge doesn't work

git - git merge 冲突究竟何时发生

git - 如何恢复从一个分支 merge 的所有提交

git - 在仅限网络的提供商(无外壳)上发布 Git 存储库

merge 提交的 Git 精选需要本地解析 - Azure Devops git

git - 在git代理密码中转义@字符