在GitKraken中,未在提交挂钩

时间:2017-06-07 16:08:02

标签: gitkraken

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

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

从命令行,这工作正常。 GIT_DIR已经确定,每个人都很开心。但是在GitKraken中,GIT_DIR丢失了。实际上,没有设置git环境变量。我在钩子中运行env并查看输出。

这是GitKraken的正常行为吗?是否有一些隐藏的配置,我错过了?

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

1 个答案:

答案 0 :(得分:1)

我知道这对党来说有点晚了,但是我遇到了一个类似的问题,我希望这将对以后的任何询问有所帮助。

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

GitKraken实际上并不使用Git。它的工作原理与Git完全相同,是的,但是实际上并不需要在系统上安装Git。按照主要的GitKraken下载页面here

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

因此,首先要添加Git钩子功能(根据GitKraken团队)具有挑战性。在“ April 3, 2017 2.3.0 Release Notes”中:

Git钩!导致某些用户和团队无法采用GitKraken的一件事是缺乏Git挂钩支持。直到今天!现在,您可以创建在Git流程中的某些时候触发的自定义脚本。 GitKraken不需要在系统上安装Git,因此直到现在,这种独立性还意味着没有Git挂钩支持。但是,v2.3充满了大量的血液,汗水和泪水,使您可以随意控制Git动作!

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

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