gpt4 book ai didi

git - 如何 merge 二进制文件?

转载 作者:IT王子 更新时间:2023-10-29 01:29:53 27 4
gpt4 key购买 nike

我在my_branch中有一个二进制文件,当我需要修改它的时候,git当然不会 merge 它。

所以我现在做的是:

git checkout my_branch
# make a change to gui.bin
mv gui.bin ~/
git commit -a
mv ~/gui.bin .
git commit -a
# git rebase to 1 commit
git checkout master
git merge my_branch

但是有没有更简单的方法呢?

最佳答案

我不太确定您的测试用例的目的是什么。您似乎正在将 gui.bin 移开,然后将其放回原处...

通常,二进制文件不需要 merge ,您只想从一个地方或另一个地方选择一个确定的版本。在真正需要 merge 它们的地方,您要么需要自定义 merge 工具,要么使用某种编辑器和大量手动干预。

我注意到您在示例中使用了 commit -a。避免不必要的冲突的第一步是不要提交任何可能偶然触及的二进制文件,除非您想要提交它们。如果您只是 git add 需要提交的文件,并且没有 -a 提交,那么这会有所帮助。或者,如果只有一个文件您不想提交,您可以添加 -u 并在提交之前重置它。

git add -u
git reset -- dontcommit.dat
git commit

当您 merge 两个都更改了二进制文件的分支时,您可能希望保留一个版本而不是另一个。在 git 告诉你它们在你的二进制文件中存在冲突的 merge 之后,你可以告诉 git 使用你所在的分支中的版本,如下所示:

git checkout --ours binary.dat
git add binary.dat

或者从你要 merge 的分支中这样:

git checkout --theirs binary.dat
git add binary.dat

关于git - 如何 merge 二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2089560/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com