HowTo keep in sync your git repository for redmine » History » Version 8

« Previous - Version 8/12 (diff) - Next » - Current version
Joon Ro, 2012-07-05 17:47
Reorganized post so the instructions with recent git comes first. It would be easier for readers to find relevant info.


HowTo keep in sync your git repository for redmine

With sufficiently recent git (>=1.6.0)

In the below examples, "git_user" and "project.git" should be modified for your GitHub project

git clone --mirror git@github.com:git_user/project.git

then install a crontask

sudo vi /etc/cron.d/sync_git_repos
*/5 * * * * app cd /path/to/project.git && git fetch -q --all

*/5 in the last line defines the minute at which the synchronization takes place, for example, */2 would cause the sychronization to take place every two minutes. */5 causes the synchronization to take place on minutes divisible by 5 (5, 10, 15, etc.)

With older git

Here is a HowTo written by Farzy (Farzad FARID) that explains how to keep two git repositories syncronized

Summary Of Above Blog Posts

git clone --bare git@github.com:git_user/project.git project.git
cd project.git
git remote add origin git@github.com:git_user/project.git
git fetch -v
git fetch origin
git reset --soft refs/remotes/origin/master 

In this cron script, "app" is the owner of the project.git directory

sudo vi /etc/cron.d/sync_git_repos
# One-way synchronization of a local and remote bare Git repository.
# Repeat this line for each repository.
*/5 * * * * app cd /path/to/project.git && git fetch origin && git reset --soft refs/remotes/origin/master > /dev/null