Lak*_*sad 8 git merge binaryfiles git-merge
当二进制文件,swfs,jar和flv在本地更改,并且我尝试引入更改时,git尝试合并它们并报告冲突.
然后,我分支到一个临时分支,并提交本地更改的二进制文件,并在拉动之后将它们合并为递归策略. - 太多的工作.
有没有办法告诉git,不要尝试合并二进制文件,并问我使用哪个版本.
您可以在.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)
我给出的示例不要求您选择,但在合并时将始终保留"我的"(或"您的")版本.
但是您可以调整此合并驱动程序执行的脚本来向您询问问题,然后将您的选择应用于所有合并.