当我运行 时,检查替换实际资产的文本文件。它似乎没有使用我的本地用户帐户,即过滤器未被使用且未被调用。npm install --save git+ssh://[email protected]:bmahsman/bubblegum.git
npm
git lfs
npm
~/.gitconfig
lfs
git-lfs
我验证了 和git-lfs
都可以在和git lfs
中工作。我在 和 中尝试了上述命令,得到了相同的结果。我验证了从头开始 会生成实际的二进制文件而不是文本文件。cmd
bash
npm install
cmd
bash
git clone [email protected]:bmahsman/bubblegum.git
我的 repo 位于https://github.com/bmahsman/bubblegum
并且我使用 Git LFS 来管理二进制艺术和声音资产,因此它有一个.gitattributes
修改过的git lfs track
:
$ cat ./.gitattributes
*.png filter=lfs diff=lfs merge=lfs -text
*.ogv filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
我的本地用户帐户配置如下git
:
$ cat ~/.gitconfig
[user]
name = Brynn Mahsman
email = [email protected]
[merge]
ff = no
[credential]
helper = cache
[alias]
sc = git clone --recursive
sp = push --recurse-submodules=on-demand
su = submodule update --remote --merge
[push]
default = simple
[filter "lfs"]
clean = git-lfs clean %f
smudge = git-lfs smudge %f
required = true
我正在使用 Windows 7。
$ npm -v
2.14.7
$ git --version
git version 2.6.2.windows.1
编辑:如果这是一个错误,我已经在GitHub。
答案1
(这不是答案。这应该是对问题的评论,但该帐户尚未具备评论的声誉。对此深感抱歉。)
这看起来像是 npm 中的一个错误。我没发现你做错了什么。点击这里。
答案2
git
仔细研究了和npm
的输出后export GIT_TRACE=1
,npm config loglevel verbose
我相信我已经找到了如何让它工作的方法,至少在 GitLab 中是这样(我已经从 GitHub 转移到 GitLab,它也支持 Git LFS)。
步骤 1. 在您的存储库中,运行以下命令(替换bubblegum
为您的存储库名称),然后提交结果.gitconfig
并推送:
$ git config -f .gitconfig lfs.url https://gitlab.com/brynn.mahsman/bubblegum.git/info/lfs
第 2 步. 在您想要的项目目录中npm install
,运行例如:
$ npm install -S https://gitlab.com/brynn.mahsman/bubblegum.git
为了使其与 GitHub 配合使用,似乎要lfs.url
使用的为:https://api.github.com/lfs/<user or organization>/<repository name>
,例如:
$ git config -f .gitconfig lfs.url https://api.github.com/lfs/brynn.mahsman/bubblegum
您可能需要安装一个凭据管理器,这样您就不必每次git-lfs
检索文件时都输入用户名和密码。对于 Windows,我使用微软的凭证管理器。
您.gitconfig
提交到存储库的 允许 使用的 git 命令npm install
知道lfs.url
要使用什么。我不确定这个解决方案是否只是掩盖了这样一个事实:如果您没有在 中明确指定 ,npm install
就无法找出。换句话说,当我运行命令 时,即使我在存储库中没有 ,它也会以某种方式知道。lfs.url
.gitconfig
git clone https://gitlab.com/brynn.mahsman/bubblegum.git
git
lfs.url
.gitconfig