我正在尝试实现this解决方案,这意味着在git中创建一个过滤器。我在.git/config中添加了这些过滤器
[core]
attributesfile = .gitattributes
[filter "nbstrip_full_test"]
clean = "echo Hello World .git/config"
smudge = cat
[filter "nbstrip_full"]
clean = "jq --indent 1 \
'(.cells[] | select(has(\"outputs\")) | .outputs) = [] \
| (.cells[] | select(has(\"execution_count\")) | .execution_count) = null \
| .metadata = {\"language_info\": {\"name\": \"python\", \"pygments_lexer\": \"ipython3\"}} \
| .cells[].metadata = {} \
'"
smudge = cat
required = true
字符串
在.gitattributes中
*.ipynb filter=nbstrip_full_test
*.ipynb filter=nbstrip_full
型
但是,当我提交或运行git checkout jupyter/exploration.ipynb
时,我没有看到过滤器被应用。
在this测试库中找到设置。
git version 2.39.2
型
1条答案
按热度按时间kd3sttzy1#
要检查 clean 和 smudge 过滤器是否运行,请设置环境变量
GIT_TRACE=1
。输出包括调用的过滤器命令(参见注解中的示例)。还要注意,查看工作树文件的命令(如
git add
和git diff
)运行 clean 过滤器。将数据从存储库复制到工作树的命令(如git checkout
)运行 smudge 过滤器。