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)Harika! Şimdi yapılacak işlem, 'upstream'den değişiklikleri öğrenip kendi forkumuza uygulamak:
origin https://github.com/user/repo.git (push)
upstream https://github.com/anaUser/anaRepo.git (fetch)
upstream https://github.com/anaUser/anaRepo.git (push)
# 'upstream'den değişiklikleri çektik:
$ git fetch upstream
# Kendi forkumuza uyguladık:Bu kadar.
$ git merge upstream/master
---
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