Setting Up a GIT Repository Mirror
From: Yaser Raja <hidden>
Date: 2016-06-15 22:45:36
Hi
I have a main repository placed at a remote location and i want to
have a read-only mirror of this repository available locally. The
users/automated processes will use this local mirror to get the latest
code.
Can anyone guide me how to implement this? I did make a basic setup as
follows but it has some issues:
1. Create a clone (MirrorRep) of the remote git repository (MainRep)
on a local machine using "git-clone" command
git-clone ssh://<user>@<remote machine addr> MyMirror
2. Use "git-pull" to keep this repository (MirrorRep) in sync with the
main repository. I added entry in /etc/crontab to invoke "git-pull"
after every 10 minutes to update this repository.
3. Launch "git-daemon" so that local users can access and clone from
this Mirror Repository.
git-daemon --export-all --verbose --base-path=<base path to
MyMirror directory>
After this the users can easily clone from the local repository and
work with it. The problem is that the branches that were present in
MainRep are not visible in the clones made using MirrorRep. When
MirrorRep was created all the branches of MainRep became remote
branches for MirrorRep. And when users make a clone from MirrorRep
none of the remote branches are transfered over.
I came to know about --mirror option of git-clone and used it to make
a bare repository replica of the MainRep. Now i am not sure how to
keep it in sync with the MainRep.
Thanks
Yaser