在进行克隆时,是否有传递给git的标志,比如不要克隆。git目录?如果没有,那么在克隆完成后使用标记删除.git目录如何?


当前回答

你可以一直这样做

git clone git://repo.org/fossproject.git && rm -rf fossproject/.git

其他回答

如果存储库包含一些标记,您可以简单地下载该标记的zip:

curl -L https://github.com/<user>/<repo-name>/archive/refs/tags/v1.2.3.zip | tar xz

这将下载并解压缩克隆的存储库,但没有.git文件夹。生成的文件夹将是<repo-name>-1.2.3

git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo1
rd /s /q  .\dirformynewrepo1\.git

这适用于Windows系统

你可以一直这样做

git clone git://repo.org/fossproject.git && rm -rf fossproject/.git

因为您只想要文件,所以不需要将其视为git回购。

rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .

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

Use

git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git

深度选项将确保复制尽可能少的历史记录以获得该回购。 分支选项是可选的,如果没有指定将获得默认分支。 第二行代码将使dirformynewrepo目录不再是Git存储库。 如果要进行递归子模块克隆,则深度和分支参数不适用于子模块。