gpt4 book ai didi

git - 告诉 git 不要 merge 二进制文件而是选择

转载 作者:太空狗 更新时间:2023-10-29 12:53:50 27 4
gpt4 key购买 nike

当二进制文件、swfs、jar 和 flvs 在本地更改时,我尝试 pull 入更改,git 尝试 merge 它们并报告冲突。

然后,我分支到一个临时分支,提交本地更改的二进制文件,并在 pull 后使用递归策略将它们 merge 回来。 -- 工作量太大。

有没有办法告诉 git,不要尝试 merge 二进制文件并询问我使用这些版本中的哪一个。

最佳答案

您可以在 .gitattributes 文件中设置 merge 驱动器(仅针对给定的子树,仅针对某些文件类型)

参见 this question例如(或 this one )。

# choose the name of the merge driver to be use for all jar files
echo *.jar merge=keepTheir > dirWithJarFiles\.gitattributes

在 Git 存储库的配置中声明您的 merge 驱动程序:

git config merge.keepTheir.name "always keep their during merge"
git config merge.keepTheir.driver "keepTheir.sh %O %A %B"

git config merge.keepMine.name "always keep mine during merge"
git config merge.keepMine.driver "keepMine.sh %O %A %B"
[merge "keepMine"]
name = always keep mine during merge
driver = keepMine.sh %O %A %B

我给出的示例不会要求您做出选择,但在 merge 时将始终保留“我的”(或“您的”)版本。
但是您可以修改此 merge 驱动程序执行的脚本来问您一个问题,然后将您的选择应用于所有 merge 。

关于git - 告诉 git 不要 merge 二进制文件而是选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2920594/

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