我可以使用HTTPS git url克隆github存储库的一部分吗?

时间:2014-04-25 22:33:04

标签: git github

我想知道我是否可以使用HTTPS git url在github上克隆一部分存储库。

例如,如果我有整个存储库的以下网址:

https://github.com/bob/thisrepository.git

但是,我只想通过一个文件夹来克隆这个存储库中的内容。所以,例如:

https://github.com/bob/thisrepository/tree/master/laravel-master.git

这会像火箭一样有效吗?谢谢。

1 个答案:

答案 0 :(得分:1)

这是不可能的,因为git存储库包含整个项目的内容和更改。如果您使用了一个目录,那么每个提交可能会有不同的更改子集,这使得每个提交的签名都不同(您可能会编写一个脚本来为您执行此操作,但它不是git的工作原理)。 / p>

相反,您必须下载该目录并使用它初始化新的git存储库。目前,GitHub只允许您将整个分支(或提交的)存储库下载为ZIP存档。所以像这样:

# Download and extract archive
wget https://github.com/bob/thisrepository/archive/master.zip
unzip master.zip

# Copy subdirectory out of repo
cp -r thisrepository-master/path/to/subdirectory /path/to/new/project

# Create a new git repo
cd /path/to/new/project
git init
git add .
git commit -m "intial commit"

<强>加成:

查看this answer以获取有关git-archive的信息,以及如何使用它直接从GitHub中提取子目录,而不是下载整个仓库并提取(您仍然需要)根据文件初始化新的存储库。)