【问题标题】:How to exclude path/files from git-diff-index如何从 git-diff-index 中排除路径/文件
【发布时间】:2021-02-09 08:48:49
【问题描述】:

我有一个运行预提交阶段的 sh 文件,但我想排除一些路径,但我也想知道如何排除以“*Test”结尾的文件。

这是我的 sh 文件;

for FILE in `git-diff-index HEAD 2>&1 --name-only | sed 's/^:.*     //' | uniq` ; do

我知道这个排除路径可以用git-diff-index写,但是不知道怎么写。

谢谢

【问题讨论】:

    标签: git pre-commit-hook


    【解决方案1】:

    您可以使用magic pathspec 排除某些路径。例如

    git diff-index HEAD -- :!*Test
    

    将排除所有以Test 结尾的文件。

    次要兼容性说明:不要使用虚线形式git-diff-index,因为会放弃对它的支持;使用命令形式git diff-index

    【讨论】:

    • @dani 引用文档的哪一部分不清楚?你在找**吗?
    【解决方案2】:

    git-diff-index HEAD 2>&1 --name-only -- . ':(exclude)*Tests.java' -- . ':(exclude)*Test.java' -- . ':(exclude)*\as\*' | sed 's/^:.* //' | uniq

    这适用于路径和特定文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-14
      • 1970-01-01
      相关资源
      最近更新 更多