【问题标题】:Git smudge filterGit 污点过滤器
【发布时间】:2010-12-01 09:50:01
【问题描述】:

我正在尝试设置一个过滤器,以便在结帐时将一些与 git 相关的信息注入到我的文件中,并在提交时删除这些信息。我已经验证,当我提交文件时,它已被正确清理。此外,如果我删除文件然后检查文件是否正确弄脏了。

我的问题如下。 如果我对文件进行了更改并提交了更改,则污迹过滤器不会运行。这是预期的行为吗?有没有办法让污迹过滤器在提交时运行? (也许通过提交后立即结帐?)

【问题讨论】:

  • “当我提交文件时,它会被正确清理”:所以过滤器在提交时确实有效,是吗?但也许他没有考虑到索引中添加了什么......
  • 清洁过滤器在提交时起作用,而污迹过滤器在结帐时起作用。我想知道是否有办法在我提交后运行污迹过滤器,以便文件中与提交哈希等相关的信息自动更新。

标签: git


【解决方案1】:

干净/涂抹过滤器绝对不是可靠地将基于提交的信息添加到工作树文件中的地方。正如您所发现的那样,原因是在不必将文件的新版本写入工作树的操作中不会触及该文件。如果给定文件没有被这些提交触及,您可以合并或快进许多提交而不应用过滤器。

您可能最好使用模板文件,该文件可以通过构建步骤转换为带有嵌入提交信息的被忽略的真实文件,该构建步骤使用git rev-parse HEADgit describe 之类的东西来检索当前提交信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 2022-07-06
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多