解决与二进制文件的Git冲突

我一直在Windows(msysgit)上使用Git来跟踪所做的某些设计工作的更改。

今天,我正在另一台PC上(带有远程repo brian)工作,并且现在尝试将今天完成的编辑合并到笔记本电脑上的常规本地版本中。

在我的笔记本电脑上,我曾经习惯于git pull brian master将更改引入本地版本。除了主要的InDesign文档之外,其他一切都很好-这显示为冲突。

PC(brian)上的版本是我要保留的最新版本,但我不知道是什么命令告诉仓库使用此版本。

我尝试将文件直接复制到笔记本电脑上,但这似乎破坏了整个合并过程。

谁能指出我正确的方向?


繁星coding
浏览 726回答 3
3回答

临摹微笑

git checkout对于此类情况接受--ours或--theirs选项。因此,如果您有合并冲突,并且知道只希望合并中的分支中的文件,则可以执行以下操作:$ git checkout --theirs -- path/to/conflicted-file.txt使用该文件的版本。同样,如果您知道要使用的版本(而不是要合并的版本),则可以使用$ git checkout --ours -- path/to/conflicted-file.txt

慕容森

您也可以使用git mergetool这将导致git创建冲突二进制文件的本地副本,并在它们上生成默认编辑器:{conflicted}.HEAD{conflicted}{conflicted}.REMOTE显然,您无法在文本编辑器中有效地编辑二进制文件。相反,您无需关闭编辑器即可复制新{conflicted}.REMOTE文件{conflicted}。然后,当您关闭时,编辑器git将看到未修饰的工作副本已更改,并且您的合并冲突以通常的方式解决。
打开App,查看更多内容
随时随地看视频慕课网APP