【问题标题】:in GitKraken, git environment variable not set in commit hooks在 GitKraken 中,未在提交挂钩中设置 git 环境变量
【发布时间】:2020-04-28 04:51:14
【问题描述】:

我正在尝试使用运行 eslint 的提交挂钩。挂钩使用GIT_DIR 查找包本地 eslint 和相关的 eslint 配置。像这样:

ESLINT_PATH="${GIT_DIR}/../node_modules/.bin/eslint"

从命令行,这工作正常。 GIT_DIR 已设置,每个人都很高兴。但在 GitKraken 中,GIT_DIR 不见了。事实上,没有设置 git 环境变量。我在钩子中运行env 并查看了输出。

这是 GitKraken 的正常行为吗?是否有一些我缺少的隐藏配置?

我可以修改脚本,所以如果有更“正确”的方法来做到这一点,我会全力以赴。

【问题讨论】:

    标签: gitkraken


    【解决方案1】:

    我知道这对聚会有点晚了,但我刚刚遇到了类似的问题,我希望这对以后的查询有所帮助。

    此信息对于 GitKraken 4.2.2 来说是准确的,因为我没有使用更新的版本对此进行测试。

    GitKraken 实际上并不使用 Git。它的工作方式与 Git 完全一样,是的,但它实际上并不需要在您的系统上安装 Git。根据 GitKraken 主下载页面here

    它直接与您的存储库一起工作,没有依赖关系——您甚至不需要在您的系统上安装 Git。 GitKraken 是使用 NodeGit 构建的,NodeGit 是一个主要由 GitKraken 开发团队成员开发和维护的 Git 框架。

    因此,首先添加 Git 挂钩功能(根据 GitKraken 团队的说法)具有挑战性。来自“April 3, 2017 2.3.0 Release Notes”:

    Git 钩子!阻止一些用户和团队采用 GitKraken 的一件事是缺乏对 Git 挂钩的支持。直到今天!您现在可以创建自定义脚本,在 Git 进程的特定时间点触发。 GitKraken 不需要您在系统上安装 Git,所以直到现在,这种独立性意味着不支持 Git 挂钩。但是,经过大量的鲜血、汗水和泪水,v2.3 允许您以自己的方式获得对 Git 操作的大量控制!

    因此,您将无法使用 Git 环境变量,因为实际上并没有在后台使用“常规”Git。

    事实上,很多更复杂的 Git 功能不一定会得到支持,除非特别提及。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2021-09-10
      • 1970-01-01
      相关资源
      最近更新 更多