让git不合并二进制文件,但保留两者



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

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

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

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

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

是的。git reset只是指向要取代的版本的冲突路径(git resetthecommitwiththesupersededfiles--paths),提交该路径,然后添加(或重置)替换(即正确)版本并提交结果。如果你不喜欢主线上有人为的和已知的不一致的提交,你也可以对被取代的文件(带有一条提交消息,说明它们的问题)只进行的孤立提交,并将其添加为主分支上所选版本的提交的合并父级。阅读git mktreegit commit-tree,看看如何做到这一点,实际上非常简单。

最新更新