首页 > 解决方案 > Git过滤器涂抹/清洁在源树中不起作用

问题描述

我有 git smudge 和 git clean 使用命令行工作。但是当我在同一个存储库上使用 sourcetree 来结帐和检查时,我没有看到过滤器工作。我补充说:

[filter "dater"]
    clean = TestClean.rb

在配置中。

还在我的路径中添加了 TestClean.rb。我正在使用 Windows 10。

标签: gitfiltercoding-styleatlassian-sourcetree

解决方案


首先检查 SourceTree 使用的实际环境。

例如,在这个错误报告中(是的,对于 Mac,不是 Windows,但一般观点仍然有效):

看看SRCTREE-3583

Sourcetree 很可能不会获取您的脚本,因为它是作为服务启动的,并且不会获取您对 PATH 的更改。
您需要扩展应用程序看到的 PATH,检查“通过 launchd.conf 设置环境变量不再适用于 OS X Yosemite/El Capitan/macOS Sierra/Mojave?PATH ”(在问题中提到)或搜索如何扩展操作系统

这是一个特定于 Mac 的问题,但在您的情况下,您需要从 SourceTree 打开一个终端,键入“ env”,然后与过滤器工作的常规 CMD 会话相比,检查您的环境变量。

不仅 PATH 应该包含您的脚本,而且还应该包含 ruby​​,以便执行您的脚本。


推荐阅读