使用LFS初始化裸git存储库

时间:2017-01-28 17:05:29

标签: git github git-lfs

我想在支持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存储库

感谢任何帮助,谢谢!

1 个答案:

答案 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_ADMINUSERLFS_ADMINPASS个环境变量:https://github.com/git-lfs/lfs-test-server#running

然后,您应该能够在浏览器中访问http://localhost:8080/mgmt(或运行LFS服务器的任何地方)并添加凭据。

Git LFS User Management.

结果看起来很有希望:

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文件夹现在包含一个文件,其中包含添加文件的确切大小。

lfs-content folder on server-side.