Github。如何选择保留哪个有冲突的二进制文件?
Github. How to choose which conflicted binary file to keep?
通常当我的同事或我在 github 中按下 windows 的同步按钮时,由于合并冲突它不起作用(顺便说一句,我们在同一个分支上工作)。我们正在开发 Unity3D 游戏,其中有很多二进制文件(如图像文件),很容易被意外编辑,因此经常发生两个人编辑同一个二进制文件的情况。
当我遇到此合并冲突时,我只是 运行 'git add [filepath]' 如果它是一个文件,或者 'git 添加 -A' 如果它不止一个。这解决了我的问题并允许我提交,但我不明白那里发生了什么。 git 的命名和用法对我来说似乎很不直观。
我希望在二进制文件被两个人更改的情况下,您可以选择保留哪一个。显然,我想保留版本,不让故意而不是意外编辑它的人看到。你怎么做到这一点?
当你有合并冲突时,你可以选择完全保留你的文件副本(在合并提交时)或他们的文件副本而不合并任何更改(只有一个完整版本没有更改)使用 git co filename.ext --ours
(以保留 merge/rebase 之前的版本)或 git co filename.ext --theirs
(以保留 merge-rebase 之前其他分支的版本)。
这对于二进制文件或构建过程的产品很有用,因为在这些情况下尝试合并两个分支的各自版本没有意义。
通常当我的同事或我在 github 中按下 windows 的同步按钮时,由于合并冲突它不起作用(顺便说一句,我们在同一个分支上工作)。我们正在开发 Unity3D 游戏,其中有很多二进制文件(如图像文件),很容易被意外编辑,因此经常发生两个人编辑同一个二进制文件的情况。
当我遇到此合并冲突时,我只是 运行 'git add [filepath]' 如果它是一个文件,或者 'git 添加 -A' 如果它不止一个。这解决了我的问题并允许我提交,但我不明白那里发生了什么。 git 的命名和用法对我来说似乎很不直观。
我希望在二进制文件被两个人更改的情况下,您可以选择保留哪一个。显然,我想保留版本,不让故意而不是意外编辑它的人看到。你怎么做到这一点?
当你有合并冲突时,你可以选择完全保留你的文件副本(在合并提交时)或他们的文件副本而不合并任何更改(只有一个完整版本没有更改)使用 git co filename.ext --ours
(以保留 merge/rebase 之前的版本)或 git co filename.ext --theirs
(以保留 merge-rebase 之前其他分支的版本)。
这对于二进制文件或构建过程的产品很有用,因为在这些情况下尝试合并两个分支的各自版本没有意义。