Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
使用Git,是否可以下载修订版而不克隆repo?_Git - Fatal编程技术网

使用Git,是否可以下载修订版而不克隆repo?

使用Git,是否可以下载修订版而不克隆repo?,git,Git,基本上,我想在一个特定的版本中下载工作树,而不克隆任何内容。特别是,我不想在下载结果中包含任何.git目录。另一种思考我的要求的方式是与光秃秃的回购相反:光秃秃的工作树 当您只想使用代码或数据而不想修改它或玩弄历史时,用例非常简单 我知道git clone--depth 1,但根据我的经验,克隆的repo仍然是工作树的两倍大。git archive可以完成这项工作 try:git archive-vvv--remote=-o output.zip 请注意:REF应仅为命名的REF-分支、标记等。

基本上,我想在一个特定的版本中下载工作树,而不克隆任何内容。特别是,我不想在下载结果中包含任何.git目录。另一种思考我的要求的方式是与光秃秃的回购相反:光秃秃的工作树

当您只想使用代码或数据而不想修改它或玩弄历史时,用例非常简单


我知道git clone--depth 1,但根据我的经验,克隆的repo仍然是工作树的两倍大。

git archive
可以完成这项工作

try:
git archive-vvv--remote=-o output.zip

请注意:
REF
应仅为命名的REF-分支、标记等。它不允许您选择某些提交

更新

下载并提取oneliner

$git archive-vvv--remote=-o archive.tar和&tar-xvvf archive.tar和&rm archive.tar

更新2

更好的一行

$git archive-vvv-remote=| tar-xvf-

您可以使用
git archive
--prefix
标志添加prefix dir,也可以参考
tar
文档将内容提取到其他目录中

比如说

$git archive-vvv--prefix=stack/--remote=| tar-xvf-

将把repo的内容提取到
堆栈
目录中。

您可以使用
--remote
选项。它可能会输出到目录而不是zip文件吗?@static\u rtti,默认情况下不会,但我在
git-help-archive
中找到了以下示例:
git-archive--format=tar prefix=junk/HEAD |(cd/var/tmp/&&tar xf-)创建一个tar存档,其中包含当前分支上最新提交的内容,并将其解压缩到/var/tmp/junk目录中。
请查看本文的“示例”部分。您可能会找到一些有用的提示。非常感谢!我相信这对很多人都很有用。