Monday, September 16, 2013

Git 'Fork'umuzu Ana Repo ile Güncel Tutmak

Merhaba,

Git'in "dağıtık" yapısı her ne kadar güzel işlere yarasa da bir problem de oluşturmuyor değil.

Çok büyük bir komüniteye sahip bir projede çalıştığınızı (örneğin ben SMF için kod yazıyorum) düşünün. Siz kendi forkunuzda bir şeyler yaparken ana repoda dönen taklalardan bir haber olak istemezsiniz. Kendi forkunuzu ana repoyla arada eşleştirmek gerekir. Bu yazının ana fikri de budur.

CLI'dan $ git remote -v komutunu çalıştırdğımızda bize aşağıdaki gibi, projemizin uzak kaynakları (remotes) verilecektir:
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)

Bizim buraya ana repoyu eklememiz da gerekli -ki oradan güncel verileri alabilelim. Bunu aşağıdaki git komutu ile yapıyoruz:
$ git remote add upstream https://github.com/anaUser/anaRepo.git
Şimdi $ git remote -v komutunu çalıştırdığımızda 'upstream' isminde ana repoya ait uzak kaynak (remote) eklenmiş olarak görünmeli:
origin    https://github.com/user/repo.git (fetch)
origin    https://github.com/user/repo.git (push)
upstream  https://github.com/anaUser/anaRepo.git (fetch)
upstream  https://github.com/anaUser/anaRepo.git (push)
Harika! Şimdi yapılacak işlem, 'upstream'den değişiklikleri öğrenip kendi forkumuza uygulamak:

# 'upstream'den değişiklikleri çektik:
$ git fetch upstream 
# Kendi forkumuza uyguladık:
$ git merge upstream/master
Bu kadar.

---

Bunu sadece ana repo için uygulamak zorunda değilsiniz. Diğer kullanıcıların forklarından da bu adımlarla değişiklikleri kendi forkunuza alabilirsiniz.

No comments:

Post a Comment