从 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。
我看过很多关于如何从 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。