我正在创建合并驱动程序。我已经定义了一个.gitattributes文件,如下所示:
filename merge=mergeStrategy
我在$ PROJECT / .git / config中创建了合并驱动程序,如下所示:
[merge "mergeStrategy"]
name = My merge strategy
driver = scripts/mergeScript.sh
这在本地工作正常,但我想将此合并驱动程序提交到git存储库,以便合并策略对每个人都有效。
有没有办法可以将此(或其他Git配置选项)添加到存储库本身?
答案 0 :(得分:11)
您可以简单地添加和提交(并推送)script/mergeScript
(当然还有.gitattributes
文件)
只要:
mergeScript
以某种方式在执行合并驱动程序的用户的$PATH
中。 mergeScript
可执行,chmod +x
mergeScript
没有扩展名,允许您稍后更改其内容(从bash shell更改为Perl脚本到C可执行文件为......)(如果需要)。 LI>
(谢谢,MestreLion,最后两点,正如他在评论中提到的那样)
本地就是这种情况,因为我怀疑“.
”在你的$PATH
中,但你不能为每个人都假设。
但是,本地配置文件(.git/config
)不会被推送/克隆(因为Alexandr Priymak在评论中指出),因此用户仍然需要复制自定义合并驱动程序的声明
这是一个基本的安全措施,以便您不要推送潜在的“有害”脚本,然后在下次合并时自动执行该脚本。