未在 Windows 上执行 Git clean 过滤器

标签 git filter

我想在 Windows 7 上创建自定义清洁/污迹过滤器。

这是本地配置文件中的过滤器设置:

[filter "insertSha"]
    smudge = cat
    clean = 'D:/clean.exe'

这是我的 .gitattributes 文件的内容:

 *.sha.cs    insertSha

我感兴趣的文件符合过滤条件:

$ git check-attr -a myFile.sha.cs
myFile.sha.cs: insertSha: set

可执行文件 (clean.exe) 未被调用,因为出于跟踪目的,每次执行程序时我都会在已知位置创建一个文件。

我也试过把可执行文件放在其他地方,但也没用。

到目前为止,我发现的所有清洁/污迹过滤器示例仅涉及调用 sed 或类似的方法。

最佳答案

也许你的 .gitattributes 应该说:

*.sha.cs filter=insertSha

我认为 git 为了将来的可移植性(在新版本的 git 中引入新属性)有效地忽略了未知属性,所以它看到你的 insertSha 并且不将其理解为它知道的属性,然后立即忽略它...

关于未在 Windows 上执行 Git clean 过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704509/

相关文章:

vue.js - 过滤嵌套(递归)数据(Vue 2)

python - Django 过滤外键字段

swift - 在 Realm 中按日期组件过滤

javascript数组按对象键过滤重复项

git - 如何使用 Dart 将文件推送到 GitHub

git - 如何克隆一个 git 存储库命名空间

python - 在 Python 脚本中运行 git 命令会导致语法错误

git - 解决与 egit 的冲突。没有 "Team -> Add"选项

linux - 从 Crontab 调用 GIT SVN FETCH

ios - 如何在字符串中查找字符串以在 Swift 3 中过滤数据