7

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

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

从命令行,这工作正常。GIT_DIR设置好了,每个人都很开心。但在 GitKraken 中,GIT_DIR它是缺失的。事实上,没有设置 git 环境变量。我跑了env进去,看着输出。

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

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

4

1 回答 1

3

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

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

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

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

因此,首先添加 Git 挂钩功能(根据 GitKraken 团队的说法)具有挑战性。摘自“ 2017 年 4 月 3 日 2.3.0 发行说明”:

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

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

事实上,除非特别提到,否则不一定支持许多更复杂的 Git 功能。

于 2020-04-27T20:44:51.500 回答