我想知道我是否可以使用HTTPS git url在github上克隆一部分存储库。
例如,如果我有整个存储库的以下网址:
https://github.com/bob/thisrepository.git
但是,我只想通过一个文件夹来克隆这个存储库中的内容。所以,例如:
https://github.com/bob/thisrepository/tree/master/laravel-master.git
这会像火箭一样有效吗?谢谢。
答案 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中提取子目录,而不是下载整个仓库并提取(您仍然需要)根据文件初始化新的存储库。)