告诉git不要合并二进制文件而是选择

Lak*_*sad 8 git merge binaryfiles git-merge

当二进制文件,swfs,jar和flv在本地更改,并且我尝试引入更改时,git尝试合并它们并报告冲突.

然后,我分支到一个临时分支,并提交本地更改的二进制文件,并在拉动之后将它们合并为递归策略. - 太多的工作.

有没有办法告诉git,不要尝试合并二进制文件,并问我使用哪个版本.

Von*_*onC 7

您可以在.gitattributes文件中设置合并驱动器(仅适用于给定的子树,仅适用于某些文件类型)

这个问题的实例(或这一个).

# choose the name of the merge driver to be use for all jar files
echo *.jar merge=keepTheir > dirWithJarFiles\.gitattributes
Run Code Online (Sandbox Code Playgroud)

在Git仓库的配置中声明您的合并驱动程序:

git config merge.keepTheir.name "always keep their during merge"
git config merge.keepTheir.driver "keepTheir.sh %O %A %B"
Run Code Online (Sandbox Code Playgroud)

要么

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
Run Code Online (Sandbox Code Playgroud)

我给出的示例不要求您选择,但在合并时将始终保留"我的"(或"您的")版本.
但是您可以调整此合并驱动程序执行的脚本来向您询问问题,然后将您的选择应用于所有合并.