从 linux 服务器上的 git 存储库下载文件

Download files from git repo on linux server

我看过很多关于如何从 git 存储库下载特定文件的 articles/questions,但其中 none 似乎与我的情况相符。



使用 http 或 ssh 从 linux 服务器

从私有 git 存储库下载特定文件

我不确定你的问题是什么,但是,你有没有git clone <<url of git project>>

更新 - 我最初写这篇文章是作为关于 git 的一般性回答,并将在下面保留该信息。但我看到你在谈论 github,它确实提供了一些额外的选项。

例如,您可以使用这样的命令

curl https://raw.githubusercontent.com/eirslett/frontend-maven-plugin/master/README.md > README.md

只从 frontend-maven-plugin 下载 README.md(我刚好在看)。

你提到你的是私人仓库,所以你必须处理身份验证;我建议阅读 curl,因为它应该能够为回购提供凭据。

https://curl.haxx.se/docs/manpage.html

原回答

实际上并没有一个 git 命令可以从远程 git 存储库中下载单个文件。我知道你能做的最接近的是:

首先克隆存储库而不检查工作树

git clone -n <repo-url>

然后只检查你想要的文件

git checkout master -- path/within/repo/to/file

但不要被愚弄:这仍然会下载整个存储库。 (这就是 git 的工作原理。)因此,除了获得 ./path/within/repo/to/file 之外,您还获得了包含所有其余数据的 ./.git。

你可以用这种骇人听闻的方式来做:ö(å_å)ö

如果此文件在 github.com 上,请执行此操作。:

wget https://example.githubproject.com/user/project/master/README

你可以试试git 归档命令:

git archive --format=tar --prefix=junk/ HEAD | (cd /var/tmp/ && tar xf -)

创建一个 tar 存档,其中包含当前分支上最新提交的内容,并将其解压缩到 /var/tmp/junk 目录中。

示例git 归档命令用法:

git archive --format=tar --remote=origin HEAD | tar xf -
git archive --format=tar --remote=origin HEAD <file> | tar xf -

使用小技巧,git archive, Examples