首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >不含.git目录的Git克隆

不含.git目录的Git克隆
EN

Stack Overflow用户
提问于 2012-07-16 10:26:17
回答 4查看 126.6K关注 0票数 186

在进行克隆时,有没有要传递给git的标志,比如不要克隆.git目录?如果不是,在克隆之后删除.git目录的标志如何?

EN

回答 4

Stack Overflow用户

发布于 2012-07-16 11:04:31

因为您只需要这些文件,所以不需要将其视为git代码库。

代码语言:javascript
复制
rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .

这只适用于本地路径和远程ssh/rsync路径,如果远程服务器只提供git://或https://访问,它可能不起作用。

票数 34
EN

Stack Overflow用户

发布于 2020-03-19 06:10:31

或者,如果您安装了Node.js,则可以使用以下命令:

npx degit GIT_REPO

npx随Node一起提供,它允许您运行基于节点的二进制软件包,而无需先安装它们(或者,您可以首先使用npm i -g degit全局安装degit )。

Degit是由Svelte and Rollup的创建者Rich Harris创建的工具,他使用该工具通过克隆存储库来快速创建新项目,而无需保留git文件夹。但它也可以用来克隆任何repo一次...

票数 16
EN

Stack Overflow用户

发布于 2021-03-23 00:26:06

对于那些怀疑the --depth 1 solution的人,因为它仍然会下载.git目录,之后您需要手动删除它,也许您需要了解how git clone actually works

当您正常克隆存储库时,git会将所有文件(跨提交)下载到.git目录中。当你使用--depth 1克隆时,git只会将最新版本的文件下载到.git中。在此之后,git会将这些文件从.gitcheckout或检索到工作目录中(不再下载)。

通常,因为.git中的文件对象是压缩的,所以使用git clone --depth 1下载文件而不是下载未压缩的文件可以节省更多的带宽。对于一些网速很慢的人来说,这是值得的(需要运行rm -rf)。

我个人认为the git archive solution更好,但由于GitHub不支持它,所以--depth 1是可行的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11497457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档