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