为什么我的Git-ours合并策略被忽略?

为什么我的Git-ours合并策略被忽略?,git,merge-strategy,Git,Merge Strategy,我想忽略某个文件被覆盖,而不管是否有更改。我在/etc/gitconfig中有以下内容: [merge "ours"] driver = true 在存储库本身的.git/info/attributes中: files/somefile.txt merge=ours 但是,当我运行git pull时,somefile.txt文件将被覆盖。我是否配置错误,或者有什么我没有正确理解的吗?只有在实际需要合并时,merge=ours才适用,即文件两侧都有更改。如果文件未在本地修改,它

我想忽略某个文件被覆盖,而不管是否有更改。我在
/etc/gitconfig
中有以下内容:

[merge "ours"]
        driver = true
在存储库本身的
.git/info/attributes
中:

files/somefile.txt merge=ours

但是,当我运行
git pull
时,
somefile.txt
文件将被覆盖。我是否配置错误,或者有什么我没有正确理解的吗?

只有在实际需要合并时,
merge=ours
才适用,即文件两侧都有更改。如果文件未在本地修改,它将无法保护文件不受任何远程更新的影响。如果是这种情况,git只需以正常的方式签出即可。它从未开始对文件进行合并,因此甚至从未查看合并策略

看看这个答案:


您是否应该使用忽略列表来保留文件的本地版本?如果文件在每台计算机上都不同,或者对其所做的更改不需要共享,则应使用此选项。

基本上,我希望文件的特定版本成为存储库的一部分,以便人们在克隆文件时可以看到该文件,但在进行更改(并提交)时它可以在特定的机器上被忽略OK我基本上想做回答说不可能的事情:P感谢您提供的信息您可能希望对本地配置文件(从未签入)和具有条件节或类似内容的常规配置文件进行稍微调整的组合。。。