【发布时间】:2010-02-19 00:51:14
【问题描述】:
我希望每次提交对特定文件的更改时隐藏特定文件中的特定字符串。
实际上,我在一个文件中有一个不应在远程存储库中公开的 URL。有没有使用 pre-commit 和 post-commit 钩子或类似的东西来隐藏它?
目前我正在使用一个 git 存储库,但很高兴知道如何使用 svn 来做这件事。
谢谢, 西芒
【问题讨论】:
标签: svn git version-control hook
我希望每次提交对特定文件的更改时隐藏特定文件中的特定字符串。
实际上,我在一个文件中有一个不应在远程存储库中公开的 URL。有没有使用 pre-commit 和 post-commit 钩子或类似的东西来隐藏它?
目前我正在使用一个 git 存储库,但很高兴知道如何使用 svn 来做这件事。
谢谢, 西芒
【问题讨论】:
标签: svn git version-control hook
您可以将该字符串保存在单独的文件中(例如资源文件,如果您的环境支持的话),而不是将该文件置于版本控制之下。
【讨论】:
如果您确实必须将该文件置于版本控制之下,请使用git attribute filter driver(另请参阅GitPro book)。
过滤器驱动程序由
clean命令和smudge命令组成,其中任何一个都可以不指定。
在checkout上,当指定smudge命令时,该命令从其标准输入提供blob 对象,其标准输出用于更新工作树文件。
同样,clean命令用于在签入时转换工作树文件的内容。
这样,smudge 引用的脚本(私有版本,仅在您的 repo 中,不由 Git 管理)可以替换编码的 URL,而 clean 脚本会将其内容恢复为编码网址。
由 git 管理并推送到任何地方的同一脚本的公共版本将做...什么都不做,并保持 URL 混淆。
【讨论】: