git - 如何从 git-diff-index 中排除路径/文件
问题描述
我有一个运行预提交阶段的 sh 文件,但我想排除一些路径,但我也想知道如何排除以“*Test”结尾的文件。
这是我的 sh 文件;
for FILE in `git-diff-index HEAD 2>&1 --name-only | sed 's/^:.* //' | uniq` ; do
我知道这个排除路径可以用git-diff-index写,但我不知道怎么写。
谢谢
解决方案
您可以使用魔术 pathspec排除某些路径。例如
git diff-index HEAD -- :!*Test
将排除所有以 . 结尾的文件Test
。
次要兼容性说明:不要使用虚线形式git-diff-index
,因为会放弃对它的支持;使用命令形式git diff-index
。
推荐阅读
- c++ - 如何将 cin>> 与初始化的 char* 一起使用为 NULL
- javascript - 使用自定义域重置 Firebase 密码不起作用
- c++ - 使用 boost::property_tree 编写 CDATA XML 节点
- java - 无法从从自定义 maven nexus 存储库下载的 jar 导入类
- c++ - 带有擦除元素的 C++ 嵌套 for 循环
- php - 在 MySQL db 中搜索数据的 PHP 表单
- .htaccess - 如何防止在 Firefox 中使用 .htaccess 文件提示允许的子文件夹的密码提示
- c++ - 当我们有一个数字和字符串时,>> 运算符如何工作
- c# - 如何将转换器用于日历的texblock?
- amazon-web-services - 用于获取具有最短距离的所有相关顶点的最佳 Neptune 查询