Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的Github归档文件的大小是Github版本的两倍?_Git_Github - Fatal编程技术网

为什么我的Github归档文件的大小是Github版本的两倍?

为什么我的Github归档文件的大小是Github版本的两倍?,git,github,Git,Github,归档和发布(代码加载)之间的区别是什么 此url: =12.6MB =3.8MB =12.6MB 有什么区别?一些工具告诉我,我可以使用GithubAPI(代码加载工具)下载一个版本,但是那些tar.gz的大小不一样 问题是我无法使用API下载“小”版本。小文件不包含整个测试套件或其固定装置。这就是占据大部分空间的原因 $ du -sh __tests__ 26M __tests__ 这是因为这两个大文件或多或少地打包了存储库本身以供下载,而发布包是一个只包含发布代码的构建工件。它是由中国

归档和发布(代码加载)之间的区别是什么

此url:

  • =12.6MB
  • =3.8MB
  • =12.6MB
有什么区别?一些工具告诉我,我可以使用GithubAPI(代码加载工具)下载一个版本,但是那些tar.gz的大小不一样


问题是我无法使用API下载“小”版本。

小文件不包含整个测试套件或其固定装置。这就是占据大部分空间的原因

$ du -sh __tests__
26M __tests__
这是因为这两个大文件或多或少地打包了存储库本身以供下载,而发布包是一个只包含发布代码的构建工件。它是由中国制造的。它不包含任何测试,因为(已经测试过的)发行版中不需要这些测试

如果您想使用API从Github获取此信息,类似的东西应该可以工作

#/usr/bin/env蟒蛇3
导入json
导入请求
进口舒蒂尔
headers={'Accept':'application/vnd.github.v3+json'}
作者\u name=“yarnpkg”
repo_name=“纱线”
tag_name=“v0.23.4”
下载路径=“/tmp/{}-{}.tar.gz”。格式(repo\u名称,tag\u名称)
#若要获取最新版本,请改为在此URL中添加sub:
#/repos/:owner/:repo/releases/latest
r=requests.get(
"https://api.github.com/repos/{}/{}/releases/tags/{}.格式(
作者姓名:,
回购名称,
tag_name,
),
页眉=页眉)
如果r.status_code==200:
json_response=r.json()
对于json_响应中的资产[“资产”]:
如果资产[“名称”]==“{}-{}.tar.gz.”格式(回购名称、标签名称):
下载url=asset[“浏览器下载url”]
打印(“下载到{}”。格式(下载路径))
r2=requests.get(下载url,stream=True)
打开(下载路径,“wb”)作为输出文件:
shutil.copyfileobj(r2.raw,out\u文件)
打印(“下载完成”)
其他:
打印('错误:GitHub响应代码{}意外。'。格式(
r、 状态代码
))
有关这方面的更多信息,请参阅


我想你可以使用git数据API来获取报告的全部内容。。。但是在这一点上,仅仅使用git clone可能要容易得多。

这个小文件不包含整个测试套件或其固定装置。这就是占据大部分空间的原因

$ du -sh __tests__
26M __tests__
这是因为这两个大文件或多或少地打包了存储库本身以供下载,而发布包是一个只包含发布代码的构建工件。它是由中国制造的。它不包含任何测试,因为(已经测试过的)发行版中不需要这些测试

如果您想使用API从Github获取此信息,类似的东西应该可以工作

#/usr/bin/env蟒蛇3
导入json
导入请求
进口舒蒂尔
headers={'Accept':'application/vnd.github.v3+json'}
作者\u name=“yarnpkg”
repo_name=“纱线”
tag_name=“v0.23.4”
下载路径=“/tmp/{}-{}.tar.gz”。格式(repo\u名称,tag\u名称)
#若要获取最新版本,请改为在此URL中添加sub:
#/repos/:owner/:repo/releases/latest
r=requests.get(
"https://api.github.com/repos/{}/{}/releases/tags/{}.格式(
作者姓名:,
回购名称,
tag_name,
),
页眉=页眉)
如果r.status_code==200:
json_response=r.json()
对于json_响应中的资产[“资产”]:
如果资产[“名称”]==“{}-{}.tar.gz.”格式(回购名称、标签名称):
下载url=asset[“浏览器下载url”]
打印(“下载到{}”。格式(下载路径))
r2=requests.get(下载url,stream=True)
打开(下载路径,“wb”)作为输出文件:
shutil.copyfileobj(r2.raw,out\u文件)
打印(“下载完成”)
其他:
打印('错误:GitHub响应代码{}意外。'。格式(
r、 状态代码
))
有关这方面的更多信息,请参阅


我想你可以使用git数据API来获取报告的全部内容。。。但是在那一点上使用git clone可能会容易得多?

下载归档文件,解包,比较它们的内容。下载归档文件,解包,比较它们的内容。谢谢,您只能下载包含github测试集的版本,这仍然有点令人遗憾api@DenCowboy我用发布API下载的示例更新了我的答案。。。易于适应文档中的其他端点。有一个“完整源代码”的API端点,它可以做您想要做的事情(我没有尝试过)。谢谢,您只能下载包含github测试集的版本,这仍然有点让人难过api@DenCowboy我用发布API下载的示例更新了我的答案。。。易于适应文档中的其他端点。有一个“完整源代码”的API端点,它可以做您想要做的事情(我没有尝试过)。