Reputation: 66320
I usually use the command below inside my project.git
to get an archive in the specified destinations:
git archive master | tar -x -C /home/kave/site/
I wonder if its possible to archive directly from a remote repository instead into a destination directory?
I tried something like this, without any joy:
git archive master https://[email protected]/myoproject.git | tar -x -C /home/kave/site/
Any suggestions? Thanks
Upvotes: 36
Views: 52862
Reputation: 2399
Another option, specifically for GitHub, is github-backup
. It has options to capture GitHub-specific features like issues, wikis, and so on. Here is an example command-line I used recently to make archives of some other people's repositories:
github-backup --all --pull-details --prefer-ssh --repository REPO REPO-OWNER -u mhucka
In the command above, REPO-OWNER stands for the owner of the target repository and REPO is the repository name.
Upvotes: 1
Reputation: 15560
From git help archive
:
--remote=<repo>
Instead of making a tar archive from the local repository, retrieve a tar archive from a remote repository.
Command should end up like:
$ git archive --remote=https://[email protected]/myoproject.git master
But, if you would just extract the repo, you can make a shallow clone using --depth
parameter of git clone
:
--depth <depth>
Create a shallow clone with a history truncated to the specified number of revisions. A shallow repository has a number of limitations (you cannot clone or fetch from it, nor push from nor into it), but is adequate if you are only interested in the recent history of a large project with a long history, and would want to send in fixes as patches.
So you have something like this:
$ git clone --depth=1 https://[email protected]/myoproject.git
Upvotes: 44