在 git 中配置特定远程存储库的合并选项?

Configure merge options for a particular remote repository in git?

我想在从特定远程存储库而不是其他存储库中拉取时使用特定的合并选项 ('ours') 作为递归策略。

我知道 git config branch.<name>.mergeoptions "-Xours",但这是按分支而不是按远程存储库计算的。

用例,如果有帮助的话:我正在制作一个项目模板,我希望在开始一个新项目时能够克隆它。在项目上工作了一段时间后,我希望能够合并模板中的任何非破坏性更改,假设冲突应该默认为项目而不是模板。

如果有任何帮助可以实现这一点,那就太好了。

没有 "use this on pull" 选项,但如果您可以重新训练自己的手指,则手动操作很简单。

git pull 的作用很简单(好吧,很复杂1 :-))运行 git fetch 然后是 git merge.只需自己执行此操作,或为自己提供执行此操作的别名或脚本,并在 merge 步骤添加 -X ours。 运行 而不是 git pull,你就完成了。


1并发症主要来自 (a) 历史包袱,在 "remotes" 甚至存在或以现在的方式使用之前的日子里,以及 (b ) 您可以将脚本配置为 运行 git fetch 然后是 git rebase