关于git:克隆GitHub存储库的内容(没有文件夹本身)

Clone contents of a GitHub repository (without the folder itself)

我想git clone我在GitHub上的存储库的内容。 当我git clone(git @ github:me / name.git ...)时,我得到一个名为name/的文件夹,并且我在内部名称中有我的内容......我如何得到内容?


如果当前目录为空,则可以使用以下命令:

1
git clone git@github:me/name.git .

(注意最后的.指定当前目录。)当然,这也会在当前文件夹中创建.git目录,而不仅仅是项目中的源代码。

git clone手册页中记录了此可选[directory]参数,该页面指出仅当该目录为空时才允许克隆到现有目录中。


不幸的是,如果在同一个目录中已经有其他非相关目录,则这不起作用。寻找解决方案。错误消息是:"致命:目标路径"。已经存在..."。

这种情况下的解决方案是:

1
2
3
git init
git remote add origin [email protected]:me/name.git
git pull origin master

即使您要签出的目录中还有其他目录,此配方也可以使用。


如果该文件夹不为空,@ JohnLittle的一个稍微修改过的版本的答案对我有用:

1
2
3
git init
git remote add origin https://github.com/me/name.git
git pull origin master

正如@ peter-cordes指出的那样,唯一的区别是使用https协议而不是git,你需要配置SSH密钥。


您可以将目标目录指定为git clone命令的第二个参数,这样您就可以执行以下操作:

1
git clone <remote> .

这将直接在当前本地目录中克隆存储库。


将git repo克隆到当前和空文件夹(没有git init),如果你不使用ssh:

1
git clone https://github.com/accountName/repoName.git .

这个工人对我来说

1
git clone <repository> .