我为Windows安装了git-lfs。这似乎是我Git Bash
和PowerShell
的路径。以下是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
挂钩或了解任何变通办法?
答案 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支持。