【问题标题】:git operations on remote repository without local clone没有本地克隆的远程存储库上的 git 操作
【发布时间】:2014-12-12 12:15:52
【问题描述】:

在没有本地克隆的情况下,使用标准 git 命令行工具可以在远程 git 存储库上进行哪些只读操作?

  • 有没有办法在远程仓库中列出参考(特别是标签和分支)?
  • 有没有办法列出给定修订版中给定目录的内容?
  • 是否可以在给定修订版中检索给定文件的内容?

我猜想在没有本地克隆的情况下执行此操作可能涉及一些低级别的原始操作,并且我猜想使其可用最好通过一些简短的 shell 脚本来完成。这仍然在这个问题的范围内。

【问题讨论】:

  • 第 2 点和第 3 点取决于 - 您在哪里托管您的存储库? GitHub 和 Visual Studio Online 通过 REST API 提供一些信息。如果您使用 ssh 访问您的存储库,那么您可能能够运行一些命令。等等。
  • @EdwardThomson:对于我的问题,我对 git 工具自己提供的东西很感兴趣。对于我问这个问题的情况,它是一个私人 gitolite 服务器,没有附带 gitweb。

标签: git remote-access remote-server


【解决方案1】:

有没有办法在远程 repo 上列出 refs(特别是标签和分支)?

是的,git ls-remote 就是这样做的。

有没有办法列出给定修订版中给定目录的内容?
是否可以在给定修订版中检索给定文件的内容?

2012:但是,除了获取分支和标签之外,我认为您无法在不克隆的情况下获取内容(full clonesparse checkoutshallow clone)。
而且你不能做a specific commit or tagspecific branch 的浅层克隆

2016 年更新:

【讨论】:

  • 您已经更新了您的链接答案,提到了 git 1.7.10 的 --single-branch 克隆选项,所以我将把它放在此评论中。 (在关注链接时偶然发现了这个旧答案。:-))
  • @torek 谢谢。我已经相应地更新了答案。而且我还补充说,您实际上可以获取单个提交(无需克隆完整的 repo)
猜你喜欢
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2015-02-27
  • 2021-09-18
相关资源
最近更新 更多