我想要使用git clone
命令克隆我在GitHub上的代码库内容。当我执行git clone
(git@github:me/name.git...)后,我得到一个名为name/
的文件夹,在该文件夹下还有我的代码... 我怎样只获取到代码内容而非整个文件夹呢?
我想要使用git clone
命令克隆我在GitHub上的代码库内容。当我执行git clone
(git@github:me/name.git...)后,我得到一个名为name/
的文件夹,在该文件夹下还有我的代码... 我怎样只获取到代码内容而非整个文件夹呢?
如果当前目录为空,你可以这样做:
git clone git@github.com:me/name.git .
(注意在结尾处的 .
,它指定了当前目录。)当然,这也会在您当前的文件夹中创建 .git
目录,而不仅仅是您项目的源代码。
这个可选的[目录]
参数在git clone
手册页面中有说明,其中指出如果该目录不为空,则仅允许将克隆放入空目录中。
.
:git clone https://github.com/humaun21/Test .
。是的,git@github.me/name.git
是您实际的 git 存储库地址的占位符。 - Aaron Campbellrm .DS_Store
命令,问题就解决了。 - Selrond很遗憾,如果在同一目录下已经存在其他无关的目录,则此方法无法工作。正在寻找解决方案。错误消息为:“致命错误:目标路径 '.' 已经存在...”。
在这种情况下的解决方案是:
git init
git remote add origin git@github.com:me/name.git
git pull origin master
即使您想要检出的目录中有其他目录,此配方也有效。
git remote ...
之后,应该是 github.com
而不仅仅是 github
,对吗? - Armen Michaeligit pull origin master
命令之前需要先运行 git fetch --all
,因为如果仓库中有其他分支,git pull
命令不会获取那些分支,除非你先使用 fetch
命令。这是正确的吗? - Alex Ggit pull origin main
作为最后一步。 - Heiki如果文件夹不为空,@JohnLittle的答案稍作修改对我有用:
git init
git remote add origin https://github.com/me/name.git
git pull origin master
正如 @peter-cordes 指出的那样,唯一的区别是使用 https 协议而不是 git,在这种情况下,您需要配置 SSH 密钥。
您可以将目标文件夹指定为git clone
命令的第二个参数,因此您可以执行以下操作:
git clone <remote> .
这将直接在当前本地目录中克隆存储库。
如果您不使用ssh,想要将git仓库克隆到当前的空文件夹中(无需git init
),请执行以下操作:
git clone https://github.com/accountName/repoName.git .
git clone <repository> .
我知道这个问题很旧,但请注意,如果有本地文件与远程文件匹配,git pull
将会中止,解决方法是在拉取后进行重置,像这样:
git init
git remote add origin REMOTE_REPO_URL.git
git pull origin master
git reset --hard FETCH_HEAD