当二进制文件、swfs、jars 和 flvs 在本地更改时,我尝试拉入更改,git 尝试合并它们并报告冲突。
然后,我分支到一个临时分支,并提交本地更改的二进制文件,并在拉取后使用递归它们的策略将它们合并回来。 - 太多的工作。
有没有办法告诉 git,不要尝试合并二进制文件并询问我要使用其中哪个版本。
当二进制文件、swfs、jars 和 flvs 在本地更改时,我尝试拉入更改,git 尝试合并它们并报告冲突。
然后,我分支到一个临时分支,并提交本地更改的二进制文件,并在拉取后使用递归它们的策略将它们合并回来。 - 太多的工作。
有没有办法告诉 git,不要尝试合并二进制文件并询问我要使用其中哪个版本。
您可以在文件中设置合并驱动器.gitattributes
(仅适用于给定的子树,仅适用于某些文件类型)
# choose the name of the merge driver to be use for all jar files
echo *.jar merge=keepTheir > dirWithJarFiles\.gitattributes
在 Git 存储库的配置中声明您的合并驱动程序:
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
我给出的示例不要求您选择,但在合并时将始终保留“我的”(或“您的”)版本。
但是您可以调整此合并驱动程序执行的脚本来询问您一个问题,然后将您的选择应用于所有合并。