我正在尝试使用Microsoft的源服务器功能挂钩我的git存储库,以便人们调试到我的二进制文件将自动从github.com下载源文件。
git show命令将为我提供所需的正确文件和版本,但由于调试器未在具有项目源代码的本地git repo的计算机上运行,我需要从github获取“git show”而不是本地目录。我想象的是这样的事情:
git --no-pager "--git-dir=git://github.com/AArnott/dotnetopenid.git" show 93e76d5ff529b6c9921a984c3608c150ed4ee7a3
当--git-dir参数是本地目录时,这可以正常工作,但是当它是一个远程位置时,它会给我一个错误,例如:
致命:不是git存储库:'git://github.com/AArnott/dotnetopenid.git'
什么git命令会从远程URL位置下拉特定文件的特定版本?
答案 0 :(得分:7)
不幸的是,git不支持获取单个远程文件。有三种解决方法:
git archive --remote=url master:somesubdir
)。答案 1 :(得分:1)
如果你在系统上安装二进制文件,并期望人们“调试你的二进制文件”,那么你好像可以安装一些额外的文件,不是吗?
其中一个可能是$ HOME / .gitconfig(或在Windows上调用的任何内容),其中包含别名,如:
[remote "msrepo"]
url = http://microsoft/git/url.git
[alias]
msreposhow "git fetch --no-pager msrepo; git show $1"
然后你可以在一个步骤中执行“git msreposhow SHAKEY”,它将调用别名并一步执行这两个命令。