【问题标题】:git daemon with LFS?带有 LFS 的 git 守护进程?
【发布时间】:2017-04-18 17:12:14
【问题描述】:

是否可以将git daemon 与已设置 LFS 的存储库一起使用?我的机器无法连接到我的公司 VPN(没有 Linux 客户端),我必须与其共享一个存储库,以尝试对我的代码进行 Linux 特定的更改。

我有:

  1. 在 Windows 机器上本地镜像存储库。
  2. 运行git daemon --export-all --enable=receive-pack --reuseaddr(镜像上一级目录)
  3. 在 Linux 计算机上为此添加了一个远程,克隆,并对 git lfs track 跟踪的文件进行了一些更改。
  4. 当我尝试将 git push <remote> 返回到 Window 机器时,LFS 出现错误。

错误:

 Git LFS: (0 of 1 files) 0 B / 981.15 KB                                
 Post https://192.168.2.12/repository.git/info/lfs/objects/batch: dial tcp 192.168.2.12:443: i/o timeout 
 Post https://192.168.2.12/repository.git/info/lfs/objects/batch: dial tcp 192.168.2.12:443: i/o timeout 
 error: failed to push some refs to 'git://192.168.2.12/repository.git'

如果我对未在 LFS 下跟踪的文件进行编辑,则效果很好。我假设这是因为 git 也期待 Windows 机器上的某种 LFS 服务器。在这种情况下有什么方法可以让 LFS 工作,还是 git daemon 不支持?

【问题讨论】:

    标签: git git-lfs git-daemon


    【解决方案1】:

    目前git daemon 不提供集成的 LFS 服务器支持。

    我在 git 邮件列表中找不到任何相关内容(可能值得在那里尝试),但有一个 official answer on a git-lfs repo issue

    LFS 服务器当前作为一个单独的进程在您的外部运行 git 守护进程(1)。要将 LFS 支持添加到您自己的 Git 服务器,您需要 运行实现中列出的符合 LFS 的服务器之一 我们的 Wiki 页面。

    只要 LFS 服务器的默认 url/port 与 GIT 不同,您就可以运行reference LFS server。 如果不是当然,那就更麻烦了。在那个问题讨论中,您会发现一些细节,但总结如下:

    你可以随时设置 LFS url:git config lfs.url LFSURL 指向你的 LFS 服务器。甚至可以直接在克隆上完成:git -c 'lfs.url=yourlocallfsserver' clone yourlocalgitserver/repo

    如果git daemon 或 lfs 服务器可以提供“路由”服务(如 ttaylorr 所建议的那样)将请求重定向到适当的服务器,那就太好了,但现在使用这些工具是不可能的。

    git-lfs implementations page 上列出了一些似乎提供组合 git 和 lfs 支持的工具,例如 gitbucket

    我还没有尝试过,但它可能是 git daemon 的有效替代品。

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 2012-07-09
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      • 1970-01-01
      • 2017-03-13
      相关资源
      最近更新 更多