目前我们将二进制文件提交到源代码控制中,这些文件将由不同的人更改,然后重新提交。但是,这可能会产生合并冲突。
实际上,由于这些文件包含图像之类的东西,因此合并它们是没有意义的。
我想知道是否存在允许二进制文件之间可能发生合并冲突的git命令。
IE:有两个存储库和一个用于共享的裸存远程仓库。有一个文件image.png,两个存储库的用户单独更改并提交。然后他们拉出所做的更改,然后将他们的更改推送到远程仓库。显然,这会为其中一个用户生成合并冲突。但这对图像文件没有意义,最新的提交可能是最新的,旧的提交可以添加到分支的历史记录中吗?
我很清楚这不完全是应该做的事情,但这就是我所处的情况,所以我想知道是否有人有解决方案。
答案 0 :(得分:0)
是的。 git reset
只是您想要取代的版本的冲突路径(git reset
thecommitwiththesupersededfiles
--
paths
),提交,然后添加(或重置)替换(即正确)版本并提交结果。如果您不喜欢在主线上进行人为的和已知的不一致的提交,您还可以对仅的被取代文件进行孤立提交(使用提交消息说出它们的内容)并将其作为提交的合并父项添加到主分支上的选定版本。阅读git mktree
和git commit-tree
,看看如何做到这一点,实际上非常简单。