Ric*_*rse 12 git gitattributes
我的git存储库中有许多模板文件,它们以不同的速率变化.然后将它们用于生成HTML页面.如果有人报告问题,我希望他们能够告诉我哪个版本的模板文件存在问题.目前,我在更改文件时手动输入日期.或者,我试着.我大部分时间都忘记了.
至少在理论上,我应该能够使用git smudge和clean过滤器来修复文件并自动插入上次更新的日期.这会很棒.
除了我在一台机器上开发,当我准备好时,我推/拉到另一台机器.
如何在另一台机器上显示污迹和清洁过滤器?我不想在路径中添加奇怪的脚本; 这只是这个存储库所需要的,所以我想让它完全自包含.在线的一切都说"将此过滤器定义添加到〜/ .gitconfig,然后将这些脚本添加到您的路径,然后设置存储库.gitattributes文件".我想要它,这样如果我去一台新计算机并克隆存储库,所有的清理和涂抹都会自动配置.
有没有人这样做过?
如 中所述git clone,您可以设置一个模板目录来声明这些配置。
即模板文件夹将包含最少的.gitconfig那些污迹/干净指令:
filter.manage_date.smudge ${GIT_TEMPLATE_DIR}/smudge-script
filter.manage_date.clean ${GIT_TEMPLATE_DIR}/clean-script
Run Code Online (Sandbox Code Playgroud)
只需设置(导出)GIT_TEMPLATE_DIR引用该模板文件夹的环境变量即可。
通过使用以 开头的绝对路径${GIT_TEMPLATE_DIR},您无需将这些脚本添加到$PATH. 该脚本路径可能因机器而异:每台机器都可以有自己的${GIT_TEMPLATE_DIR}路径。
最后,它.gitattributes是您的存储库的一部分,因此无需执行任何操作。
通过该设置,您可以“转到新计算机并克隆存储库,所有干净和污迹都会自动配置。”
(前提是新计算机已预先填充其模板目录)
指定一个在克隆时执行您想要的操作的模板,或者在克隆后提供repo-setup脚本和类型sh repo-setup,或者将必要的命令放在自述文件的一个段落中,然后说V}!sh或者您的编辑器通过 shell 管道命令,或者用于git archive分发而不是git push,因为它支持任意关键字替换。为了避免这样的微不足道的不便,将裸机git clone变成代码注入向量似乎是一个糟糕的代价。