我想在支持git LFS协议的外部驱动器(git init --bare reponame)上初始化几个本地git存储库。即克隆这些之后,我希望能够通过LFS跟踪大文件(文件的版本应该存储在外部驱动器上)
在没有任何额外步骤的情况下执行此操作无效(即克隆空仓库,使用git LFS跟踪大型文件,并尝试推送到远程):
Git LFS: (0 of 122 files) 0 B / 157.56 MB
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
unsupported protocol scheme ""
http: Post /media/me/bigdrive/git_repos/coding.git/info/lfs/objects/batch:
unsupported protocol scheme ""
error: failed to push some refs to '/media/me/bigdrive/git_repos/coding'`
我没有找到关于如何执行此操作的指南,LFS手册页似乎没有提供解决方案。 GitHub / BitBucket指南仅解释如何在本地存储库上执行此操作,然后在其服务器上推送到正确配置的git存储库
感谢任何帮助,谢谢!
答案 0 :(得分:1)
我有类似的问题,但设法让它发挥作用。
第1步:
下载并启动LFS服务器(如果您尚未这样做),例如https://github.com/git-lfs/lfs-test-server(请勿在生产中使用此服务器。)
第2步:
正确设置回购的LFS服务器网址,如下所述:https://github.com/git-lfs/git-lfs/wiki/Tutorial#lfs-url
就我而言,在我的工作副本文件夹中运行以下内容就足够了:
git config -f .lfsconfig lfs.url http://username:password@localhost:8080
git add .lfsconfig
用你想要的凭证替换用户名和密码,用你的Git服务器URL替换localhost:8080。
您可以运行git lfs env
来验证结果。
第3步:
按照此处所述设置LFS_ADMINUSER
和LFS_ADMINPASS
个环境变量:https://github.com/git-lfs/lfs-test-server#running
然后,您应该能够在浏览器中访问http://localhost:8080/mgmt(或运行LFS服务器的任何地方)并添加凭据。
结果看起来很有希望:
C:\Users\Nick\Desktop\WorkingCopy\Repo>git push origin master
warning: current Git remote contains credentials
warning: current Git remote contains credentials
Git LFS: (1 of 1 files) 6.72 KB / 6.72 KB
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 428 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To C:/Users/Nick/Desktop/WorkingCopy/../Repo
309629f..7fe106d master -> master
LFS服务器的lfs-content文件夹现在包含一个文件,其中包含添加文件的确切大小。