繁体   English   中英

如何从Git存储库下载单个目录

[英]How to download a single directory from a Git repository

从Git存储库下载单个子目录的最短,最简单的方法(最好是一行命令)是什么? 目标是让最终用户 (即不是程序员)尽可能容易地获得子目录的副本。


这与“ 我如何仅克隆Git存储库的子目录? ”有关,但与之无关,因为该问题涉及克隆目录并仍然能够在Git中使用该目录。 而我只希望用户获得本地副本,而在我的情况下无需下载git历史记录和其他信息。 可以,如果不需要,就不需要。

请注意,git本质上与下载无关。 除了git daemon以外,git仓库仅位于磁盘上,它不会帮助您使普通用户可以下载。

据我所知,没有简单的方法可以做您想要的事情。 github特别支持各种下载平面文件的方式,但是我不相信它提供了打包目录的URL。 它所能做的就是“释放” tarball。 子目录尤其有问题:您需要一个以ZIP或tar文件作为响应的Web服务,并且用户必须与浏览器进行交互才能将其解压缩。

我确实找到了一个PHP解决方案 ,可以将其放置在恰好是从git repo填充的文件系统上。

如果子目录是一个子模块,那将相对容易。 只是git clone那。 但是您仍然会得到整个仓库,而不是工作树。 如果您想要工作树 ,则git无法为您做任何事情。

因此,您必须做些不同的事情。如果它在您可以控制的机器上,则可以通过例如;

  • RCP
  • rsync的
  • ftp(作为zip或tar文件)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM