获取git不合并二进制文件但保留两者?

时间:2012-11-30 18:19:43

标签: git merge binaryfiles

目前我们将二进制文件提交到源代码控制中,这些文件将由不同的人更改,然后重新提交。但是,这可能会产生合并冲突。

实际上,由于这些文件包含图像之类的东西,因此合并它们是没有意义的。

我想知道是否存在允许二进制文件之间可能发生合并冲突的git命令。

IE:有两个存储库和一个用于共享的裸存远程仓库。有一个文件image.png,两个存储库的用户单独更改并提交。然后他们拉出所做的更改,然后将他们的更改推送到远程仓库。显然,这会为其中一个用户生成合并冲突。但这对图像文件没有意义,最新的提交可能是最新的,旧的提交可以添加到分支的历史记录中吗?

我很清楚这不完全是应该做的事情,但这就是我所处的情况,所以我想知道是否有人有解决方案。

1 个答案:

答案 0 :(得分:0)

是的。 git reset只是您想要取代的版本的冲突路径(git reset thecommitwiththesupersededfiles -- paths ),提交,然后添加(或重置)替换(即正确)版本并提交结果。如果您不喜欢在主线上进行人为的和已知的不一致的提交,您还可以对的被取代文件进行孤立提交(使用提交消息说出它们的内容)并将其作为提交的合并父项添加到主分支上的选定版本。阅读git mktreegit commit-tree,看看如何做到这一点,实际上非常简单。