Git - 解决 Word 文档中的合并冲突

4
On branch test
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)

Unmerged paths:
  (use "git add <file>..." to mark resolution)

        both modified:   Git Basics.docx

no changes added to commit (use "git add" and/or "git commit -a")

我正在尝试将来自develop分支的文件合并到test分支中。通常情况下我没有问题,但这是我第一次处理Word文档产生的冲突。
下面的链接对我理解如何解决合并冲突很有帮助- https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ 从该链接,我期望看到类似以下内容:
If you have questions, please
<<<<<<< HEAD
open an issue
=======
ask your question in IRC.
>>>>>>> branch-a

这告诉我冲突发生的位置和内容。但是我无法在Word文档中查看它。

有人能指点我正确的方向吗?


6
那种冲突解决方法只适用于纯文本文件。Word 文件不是纯文本文件,因此您需要一个能够处理 Word 文件的合并工具来完成此操作。 - Lasse V. Karlsen
4
不要将DOCX文件存储在git中,但是可以存储它们未压缩的内容,即XML。这样您就能够看到差异。 - choroba
感谢您的评论,但在我目前的状态下,我必须做些什么来解决这个问题? - Abd Maj
1
你能够对二进制文件做的唯一事情就是将其中一个版本视为正确的版本。 - petrpulc
1个回答

3
为了回答你的问题,需要为git设置默认的合并工具。有很多选项可供选择。个人认为,meld是最好的选择。从互联网下载并安装meld。现在打开你的全局.gitconfig文件,在该文件末尾添加以下行-
[mergetool]
  prompt = false
[mergetool "meld"]
  trustExitCode = true
  cmd = open -W -a Meld --args --auto-merge \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" --output=\"$PWD/$MERGED\"

请注意,“cmd =”是打开meld的命令,它在您的机器上的路径可能不同。
一旦配置好meld工具,并且当您正在解决合并冲突时,请在控制台上输入以下内容:
$ git mergetool

这个命令将会打开你的默认合并工具(在这里是meld),并允许你使用三个面板的用户界面,分别表示文件的本地/当前/远程版本,该文件处于冲突状态。你可以从中选择你想要的正确更改。一旦你认为合并完成,保存文件。Git会询问你合并是否正确。如果是,请按Y,否则按N。如果是,则Git会移动到下一个冲突并继续该过程。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接