pre-push hook报告git-lfs不在我的路径中,但它是

时间:2016-10-27 21:33:42

标签: windows git git-lfs

我为Windows安装了git-lfs。这似乎是我Git BashPowerShell的路径。以下是Git Bash

的输出
502618458@G13G3Q72E MINGW64 ~
$ which git-lfs
/c/Program Files/Git LFS/git-lfs

502618458@G13G3Q72E MINGW64 ~
$ git lfs version
git-lfs/1.4.4 (GitHub; windows amd64; go 1.7.3; git cbf91a9)

然而,当我跑步时:

$ git lfs install
Updated pre-push hook.
Git LFS initialized.

我在pre-push挂钩中得到以下内容。

#!/bin/sh
command -v git-lfs >/dev/null 2>&1 || { echo >&2 "\nThis repository is configured for Git LFS but 'git-lfs' was not found on your path. If you no longer wish to use Git LFS, remove this hook by deleting .git/hooks/pre-push.\n"; exit 2; }
git lfs pre-push "$@"

我已尝试删除pre-push挂钩并重新安装,但我仍然得到相同的结果。

我测试了推送应该跟踪的文件...使用git lfs track,添加了.gitattributes和跟踪的文件,但它被推入常规git repo而不是git-lfs存储。< / p>

知道为什么我无法让git lfs install将正确的内容放入pre-push挂钩或了解任何变通办法?

1 个答案:

答案 0 :(得分:0)

"This repository is configured for Git LFS but 'git-lfs' was not found on your path."对我来说是一个红色的鲱鱼。在pre-push脚本中使用此语句是正常的。

如果我运行command -v git-lfs || echo WTF,我会获得git-lfs的路径。如果我将上述命令中的git-lfs替换为git-lsf这样的拼写错误,我会WTF

我没有花足够的时间来理解pre-push脚本。

我的问题是我没有在我的Gitlab配置文件中启用lfs支持。