git deposu yansılamak

Git hakkında yazılıp çizilebilecek oldukça konu bulunuyor. Karmaşık gibi gözükse de git oldukça akıllı bir sürüm takip sistemi (SCM). Zaten çoğu yazılımcının, projenin git seçmesinin temelinde de bu yatıyor.

Neyse git şöyle güzeldir, git böyle güzeldir yerine başlığa değineyim doğrudan. Bir konumdaki depoyu alıp başka bir depoya (mesela github, yerel gitosis veya gitolite deponuz yahut gitorious vs.) aktarmak istiyorsanız şunları yapmanız yeterli. (Bu arada işi yapmanın farklı yöntemleri de mevcut)


git clone --bare --mirror (git|ssh)://...
git remote add depo (git|ssh)://...
git config remote.depo.mirror true

Bu işlem ile git’e kaynak ve yansıyı belirtmiş oluyorsunuz. Daha sonra depo içeriğini aktarmak için de şu komutları vermeniz yeterli olacaktır (–quiet parametresini tercihen kullanabilirsiniz):


git fetch (--quiet) origin
git push (--quiet) depo

Daha sonrasında bu işlemi otomatik gerçekleştirmek için cron kullanabilirsiniz.