【问题标题】:Git fliters smudge/clean not working in sourctreeGit过滤器涂抹/清洁在sourcetree中不起作用
【发布时间】:2020-05-26 20:13:37
【问题描述】:

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

[filter "dater"]
    clean = TestClean.rb

在配置中。

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

【问题讨论】:

  • “使用命令行工作”是指:在与此过滤器匹配的文件上从命令行运行git add会触发“清理”操作,对吗?
  • 是的,当我执行 git add 和 git commit 时。我看到干净的过滤器正在运行。但是当使用 Sourcetree 应用程序进行暂存和提交时,我没有看到过滤器正在运行。

标签: git filter coding-style atlassian-sourcetree


【解决方案1】:

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

例如,在这个bug report 中(是的,对于 Mac,而不是 Windows,但一般观点仍然有效):

看看SRCTREE-3583

Sourcetree 很可能不会获取您的脚本,因为它是作为服务启动的,并且不会获取您对 PATH 所做的更改。
您需要扩展您的应用看到的 PATH,查看“Setting environment variables via launchd.conf no longer works in OS X Yosemite/El Capitan/macOS Sierra/Mojave?”(问题中提到)或搜索如何在 OS X 中扩展 PATH

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

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

【讨论】:

    猜你喜欢
    • 2014-05-19
    • 1970-01-01
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-20
    • 1970-01-01
    相关资源
    最近更新 更多