8

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

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

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

4

1 回答 1

8

您可以在文件中设置合并驱动器.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

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

于 2010-05-27T11:53:12.107 回答