Py学习  »  Git

如何从GitHub复制文件而不进行克隆?

Darien Marks • 3 年前 • 1207 次点击  

GitHub上有一个公共存储库。我在自己的机器上有一个打开到空目录的终端,我想用这个存储库的一个特定分支表示的一组文件填充这个目录。

我想要的只是构成对给定分支的最新提交的文件集。我不需要任何历史记录或修订元数据。这将是对带宽、计算和存储的浪费 git clone repo或以其他方式在本地创建Git存储库。似乎很直观,我会有一个命令来下载这组文件:

$ git {something} https://github.com/OrgName/RepoName.git branchname

将这些文件复制到当前目录。我已经找了好几个小时了,什么也找不到。“太多了” git克隆 “我尝试过的每一次网络搜索都充满了噪音。

这有可能吗?怎么可能?如果可能的话,可以在不向GitHub进行身份验证的情况下完成吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/130411
 
1207 次点击  
文章 [ 2 ]  |  最新文章 3 年前
bk2204
Reply   •   1 楼
bk2204    3 年前

有几种方法可以让你进行一次修订。

首先,在GitHub上,有可供下载的API端点 a tarball a zip file 一个特定的修订。它们可以使用curl下载,只有在存储库是私有的情况下才需要身份验证。

如果存储库中有包含特定tarball或其他要下载的归档文件的发布资产,则可以先下载 look up the release 然后 download the asset 你想要的。如果发行版包含生成的文件或其他不在自动生成的tarball中的内容,这将非常有用。

你也可以选择进行浅层克隆。也就是说,你可以通过考试 --depth 1 选择 git clone 要仅下载一个修订版的数据,可以使用 -b BRANCH 选项最终会有一个 .git 目录,如果需要可以删除,也可以使用 git archive HEAD 从中生成存档。

Antonio Petricca
Reply   •   2 楼
Antonio Petricca    3 年前

我认为只有以下解决方案:

   git clone -b branchname --depth 1 --single-branch https://github.com/OrgName/RepoName.git \
&& rm -rf RepoName/.git/

它克隆了一个分支( -b branchname --single-branch )只拿最后一个佣金( --depth = 1 ),然后它会移除 .git 文件夹