有没有办法将smudge和clean hook分发到远程存储库?它存储在.git\config
中,因此不会被Git跟踪。
我们的客户使用稍微不同的环境和SVN(!)所以我们必须分支,以便我们可以合并我们的更改。如果我可以分享那些用于涂抹和清洁的钩子,那就太好了。
答案 0 :(得分:1)
是的,答案是.gitattributes
。可以在man-files中找到有关如何设置过滤器的更客观的说明。
将您的属性放入.gitattributes
- 文件并将其保存到项目文件夹中。然后,您就可以像跟踪其他文件一样跟踪和提交它。
不幸的是,更改过滤器本身需要您至少访问一次客户端的.git/config
。在我看来,你有两个选择来实现:提供第二个项目特定的配置或更改过滤器调用以调用已交付的脚本。
这是一个简单的方法来版本化git-config的另一部分。我们将在repo-config中添加一个额外的include-path,并在存储库中添加一个额外的配置文件。
这是我在.git/config
添加另一个包含的方式:
[include]
../.gitconfig
然后你创建了.gitconfig
- 文件 - 我用user.name
- 设置测试了它:
[user]
name = Mickey Mouse
之后,您将.gitconfig
添加到您的仓库中。尝试使用以下更改:
$ git config user.name
Mickey Mouse
但我必须承认,这个星座是安全风险,因为您可以通过提交覆盖所有配置设置。
另一种可能 - 更安全但更精细的 - 解决方案是在配置中创建过滤器,让它们指向存储库中的脚本。
答案 1 :(得分:0)
一种可能的选择是将它们直接添加到repo以及有关如何将它们复制到.git目录的说明。