在进行克隆时,有没有要传递给git
的标志,比如不要克隆.git
目录?如果不是,在克隆之后删除.git
目录的标志如何?
发布于 2012-07-16 11:04:31
因为您只需要这些文件,所以不需要将其视为git代码库。
rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .
这只适用于本地路径和远程ssh/rsync路径,如果远程服务器只提供git://或https://访问,它可能不起作用。
发布于 2020-03-19 06:10:31
发布于 2021-03-23 00:26:06
对于那些怀疑the --depth 1
solution的人,因为它仍然会下载.git
目录,之后您需要手动删除它,也许您需要了解how git clone actually works。
当您正常克隆存储库时,git会将所有文件(跨提交)下载到.git
目录中。当你使用--depth 1
克隆时,git只会将最新版本的文件下载到.git
中。在此之后,git会将这些文件从.git
中checkout
或检索到工作目录中(不再下载)。
通常,因为.git
中的文件对象是压缩的,所以使用git clone --depth 1
下载文件而不是下载未压缩的文件可以节省更多的带宽。对于一些网速很慢的人来说,这是值得的(需要运行rm -rf
)。
我个人认为the git archive
solution更好,但由于GitHub不支持它,所以--depth 1
是可行的。
https://stackoverflow.com/questions/11497457
复制相似问题