为所有用户启用 git 合并我们的驱动程序
Enable git merge ours driver for all users
我想对特定文件使用 merge=ours
。所以我将其添加到 .gitattributes
文件中:
.eslintcache merge=ours
但正如here所述,我必须运行 git config --global merge.ours.driver true
。但我希望为回购协议中的所有贡献者启用此功能。
此外,我不明白为什么该页面将其称为“虚拟我们的合并策略”!而在 this page 中,它似乎是一个预定义的策略。不加这个配置不就可以了吗?
您不能这样做,因为要使该选项起作用,它需要配置,并且 Git 不允许共享配置,因为这会允许任意代码执行。例如,如果您写的不是 true
,而是 rm -fr ~
,那么只要调用合并驱动程序,它就会删除用户的主目录。
你可以提供一个用户可以用来设置他们的环境的脚本,它可以设置这个配置,很多项目都提供这样的脚本。但是,您不能强制 用户运行 此脚本或设置此配置。
如果您需要此合并策略自动发生,您可以使用机器人执行对存储库的所有合并,然后所有合并将使用您想要的配置。
我想对特定文件使用 merge=ours
。所以我将其添加到 .gitattributes
文件中:
.eslintcache merge=ours
但正如here所述,我必须运行 git config --global merge.ours.driver true
。但我希望为回购协议中的所有贡献者启用此功能。
此外,我不明白为什么该页面将其称为“虚拟我们的合并策略”!而在 this page 中,它似乎是一个预定义的策略。不加这个配置不就可以了吗?
您不能这样做,因为要使该选项起作用,它需要配置,并且 Git 不允许共享配置,因为这会允许任意代码执行。例如,如果您写的不是 true
,而是 rm -fr ~
,那么只要调用合并驱动程序,它就会删除用户的主目录。
你可以提供一个用户可以用来设置他们的环境的脚本,它可以设置这个配置,很多项目都提供这样的脚本。但是,您不能强制 用户运行 此脚本或设置此配置。
如果您需要此合并策略自动发生,您可以使用机器人执行对存储库的所有合并,然后所有合并将使用您想要的配置。