为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
繁星coding 2019-12-07 14:02:44
我一直在Windows(msysgit)上使用Git来跟踪所做的某些设计工作的更改。今天,我正在另一台PC上(带有远程repo brian)工作,并且现在尝试将今天完成的编辑合并到笔记本电脑上的常规本地版本中。在我的笔记本电脑上,我曾经习惯于git pull brian master将更改引入本地版本。除了主要的InDesign文档之外,其他一切都很好-这显示为冲突。PC(brian)上的版本是我要保留的最新版本,但我不知道是什么命令告诉仓库使用此版本。我尝试将文件直接复制到笔记本电脑上,但这似乎破坏了整个合并过程。谁能指出我正确的方向?
查看完整描述

3 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

git checkout对于此类情况接受--ours或--theirs选项。因此,如果您有合并冲突,并且知道只希望合并中的分支中的文件,则可以执行以下操作:


$ git checkout --theirs -- path/to/conflicted-file.txt

使用该文件的版本。同样,如果您知道要使用的版本(而不是要合并的版本),则可以使用


$ git checkout --ours -- path/to/conflicted-file.txt


查看完整回答
反对 回复 2019-12-07
?
慕容森

TA贡献1853条经验 获得超18个赞

您也可以使用


git mergetool

这将导致git创建冲突二进制文件的本地副本,并在它们上生成默认编辑器:


{conflicted}.HEAD

{conflicted}

{conflicted}.REMOTE

显然,您无法在文本编辑器中有效地编辑二进制文件。相反,您无需关闭编辑器即可复制新{conflicted}.REMOTE文件{conflicted}。然后,当您关闭时,编辑器git将看到未修饰的工作副本已更改,并且您的合并冲突以通常的方式解决。


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 765 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信