Clone contents of a GitHub repository (without the folder itself)
I'd like to git clone
the contents of a repository I hav开发者_如何学Goe on GitHub. When I git clone
(git@github:me/name.git...) I get a folder called name/
and inside name I have my contents... How do I get JUST the contents?
If the current directory is empty, you can do that with:
git clone git@github.com:me/name.git .
(Note the .
at the end to specify the current directory.) Of course, this also creates the .git
directory in your current folder, not just the source code from your project.
This optional [directory]
parameter is documented in the git clone
manual page, which points out that cloning into an existing directory is only allowed if that directory is empty.
Unfortunately, this doesn't work if there are other, non-related directories already in the same dir. Looking for a solution. The error message is: "fatal: destination path '.' already exists...".
The solution in this case is:
git init
git remote add origin git@github.com:me/name.git
git pull origin master
This recipe works even if there are other directories in the one you want to checkout in.
If the folder is not empty, a slightly modified version of @JohnLittle's answer worked for me:
git init
git remote add origin https://github.com/me/name.git
git pull origin master
As @peter-cordes pointed out, the only difference is using https protocol instead of git, for which you need to have SSH keys configured.
You can specify the destination directory as second parameter of the git clone
command, so you can do:
git clone <remote> .
This will clone the repository directly in the current local directory.
to clone git repo into the current and empty folder (no git init
) and if you do not use ssh:
git clone https://github.com/accountName/repoName.git .
this worker for me
git clone <repository> .
I know this question is old but please notice that git pull
will abort if there is local files that matches the remote one, a solution for that would be to make a reset after pulling like this:
git init
git remote add origin REMOTE_REPO_URL.git
git pull origin master
git reset --hard FETCH_HEAD
精彩评论