cowboybebop cowboybebop - 24 days ago 8x
Git Question

Git copying one repository to another empty one (duplicating)

I have two repositories, and I need to copy whole of one onto the other empty one which has different access levels from the first one. The copy and the mother repository should not be linked together.

I am new to git and it would be awesome if someone could help me with this.



Short version:

In order to make an exact duplicate, you need to perform both a bare-clone and a mirror-push:

mkdir foo; cd foo 
# move to a scratch dir

git clone --bare
# Make a bare clone of the repository

cd old-repository.git
git push --mirror
# Mirror-push to the new repository

cd ..
rm -rf old-repository.git  
# Remove our temporary local repository

NOTE: the above will work fine with any remote git repo, the instructions are not specific to github

The above creates a new remote copy of the repo. Then clone it down to your working machine.