如何在远程仓库上"git show"?

And*_*ott 4 git

我正在尝试使用Microsoft的源服务器功能挂钩我的git存储库,以便人们调试到我的二进制文件将自动从github.com下载源文件.

git show命令将为我提供我需要的正确文件和版本,但由于调试器没有在具有项目源代码的本地git repo的计算机上运行,​​我需要从github而不是a gitub执行"git show"本地目录.我想象的是这样的:

git --no-pager "--git-dir=git://github.com/AArnott/dotnetopenid.git" show 93e76d5ff529b6c9921a984c3608c150ed4ee7a3
Run Code Online (Sandbox Code Playgroud)

当--git-dir参数是本地目录时,这可以正常工作,但是当它是一个远程位置时它会给我一个错误,例如:

致命:不是git存储库:'git://github.com/AArnott/dotnetopenid.git'

什么git命令将从远程URL位置下拉特定文件的特定版本?

Jan*_*ger 7

不幸的是,git不支持获取单个远程文件.有三种解决方法:

  • 使用git fetch获取远程历史记录,然后从本地对象库中抓取该文件.
  • 使用git archive git archive --remote=url master:somesubdir在stdin上以tar格式获取完整的树(例如).
  • 在服务器上设置gitweb或类似的东西,然后通过它获取文件.