Uzak Git Şubesi Nasıl Kontrol Edilir

Yayınlanan: 2023-01-23
Bir bash istemi gösteren Linux dizüstü bilgisayar
fatmawati achmad zaenuri/Shutterstock.com
Uzak bir depodan bir dalı teslim almak için, 'git fetch' komutunu kullanın ve ardından uzak dalları listelemek için 'git branch -r' komutunu kullanın. İhtiyacınız olan dalı seçin ve 'git checkout -b yeni-dal-adı kaynak/uzak-dal-adı' biçiminde bir komut kullanın. Birden fazla depo kullanıyorsanız, checkout komutunun 'origin' kısmını şubeyi teslim almak istediğiniz uzaktan kumandanın adıyla değiştirin.

Geliştirme ekibiniz Git'i kullanıyorsa, sonunda başka birinin çalışmasını uzak bir havuzdan şube olarak kontrol etmeniz gerekecektir. Git'teki çoğu şube eylemi gibi, uzak bir şubeye geçmek de aslında oldukça basittir.

İçindekiler

Git, Şubeler ve Uzaktan Kumandalar
Yerel Şubelerinizi Bulma
Bir Uzak Şubeyi Kontrol Etme
Ad Çakışmalarını Yönetme
Birden Çok Uzak Depoyu Yönetme
Ödeme Yapmadan Önce

Git, Şubeler ve Uzaktan Kumandalar

Git felsefesi sık sık dallanmak. Dallar, ana kod tabanını değiştirmeden geliştirmenin gerçekleşmesine izin verir. Test edilmiş yeni kodunuzun hazır olduğundan emin olduğunuzda, yeni şubenizi başka bir şubeyle birleştirirsiniz. Genellikle bu ana veya ana daldır, ancak herhangi iki dalı birleştirebilirsiniz.

Bu esneklik ve Git'in dalları işlemesi ve birleştirmeleri hafif ve hızlı yolu nedeniyle, dallanma dönüşüme uğradı. Eski sürüm kontrol sistemlerinde dallanma çok önemliydi. Dallanma ve birleştirme yavaştı ve hataya açıktı. Git, geliştiricilere birçok farklı iş akışını desteklemek için kullanılan kolay ve hızlı dallanma olanağı sağladı.

Git'i kullanan bir geliştirme ekibinin parçası olarak çalışıyorsanız veya gönüllü olarak çalışıyorsanız, her yazılım mühendisinin bilgisayarından uzakta, "merkezi" bir Git deposuna sahip olursunuz. Bu, uzak depo veya yalnızca "uzak" olarak bilinir. Bir itme gerçekleştirdiğinizde, yerel deponuzdaki taahhütlerin ve değişikliklerin gönderildiği yer burasıdır.

Tabii ki, diğer geliştiricilerin de yaptığı şey bu. Bu, işbirliği yapmayı kolaylaştırır. Başka bir geliştiricinin çalışmasına erişmeniz gerekirse, kodlarını uzak depodaki bir şubeden almanız yeterlidir. Çalışmanıza erişmeleri gerekirse, yerel şubelerinizden birini izleyen depodaki bir şubeden kodunuzu alacaklardır.

Git'te, bir geliştirme projesinin birden çok uzaktan kumandası olabilir. Ancak, bir yerel şube yalnızca tek bir uzak şubeyi izleyebilir. Bu nedenle, uygun uzaktan kumandayla çalıştığınız sürece, birden çok uzaktan kumandalı bir uzak şubeyi kontrol etmek, tek bir uzaktan kumandayı kullanmakla aynıdır.

Yerel Şubelerinizi Bulma

İsim çakışmalarından kaçınmalısınız. Kontrol edeceğiniz uzak şubeyle aynı ada sahip bir yerel şubeniz varsa, iki seçeneğiniz vardır. Yerel şubenizi yeniden adlandırabilir ve uzak şubeyi kontrol edebilirsiniz. Bu şekilde, uzak şubeyi izleyen yerel şubeniz, uzak şube ile aynı ada sahip olur. Veya uzak şubeyi teslim alabilir ve Git'e yeni bir adla yerel bir takip şubesi oluşturmasını söyleyebilirsiniz.

Yerel deponuzdaki dalların adlarını bulmak için git branch komutunu kullanın.

 git şubesi 

Git şubesi komutuyla yerel şubeleri listeleme

Bu yerel deponun bir ana şubesi ve diğer üç şubesi vardır. Yıldız işareti, geçerli dalın hangisi olduğunu gösterir. Şubeden şubeye taşıma, çalışmak istediğiniz şubeyi kontrol etmeyi gerektirir.

 git checkout yeni özelliği
 git durumu 

Git checkout komutuyla yerel bir şubeyi kontrol etme

İlk komut dalı bizim için değiştirir, böylece "yeni özellik" mevcut daldır. git status komutu bizim için bunu doğrular.

Şubeler arasında gidip gelebilir, yeni değişiklikler yapabilir, güncellemeleri uzaktan kumandadan çekebilir ve yerel güncellemeleri uzaktan kumandaya gönderebiliriz.

İLİŞKİLİ: Ayrı Git Şubelerini Güncelleme ve Bakımını Yapma

Bir Uzak Şubeyi Kontrol Etme

Uzak depoda bizim makinemizde olmayan bir şube var. Mary adlı bir geliştirici, yeni bir özellik oluşturdu. Yazılımın o sürümünü yerel olarak oluşturabilmek için o uzak şubeye geçmek istiyoruz.

Bir fetch gerçekleştirirsek, Git meta verileri uzak depodan geri çeker.

 git getir 

Uzak bir havuzla ilgili meta verileri almak için git fetch komutunu kullanma

Bu, Mary'nin şubesini uzak depoya itmesinden bu yana yaptığımız ilk fetch olduğundan, "origin/mary-feature" adında yeni bir dal olduğu söylendi. Bir projeye eklenen ilk uzak havuz için varsayılan ad "orijin"dir.

Bu mesajı görsek de görmesek de Git'ten her zaman uzak depodaki dalları listelemesini isteyebiliriz.

-r (uzak) seçeneği, Git'e uzak depodaki şubeler hakkında rapor vermesini söyler.

 git dalı -r 

Uzak dalları listelemek için git Branch -r komutunu kullanma

Burada dikkat edilmesi gereken nokta, Git'in uzaktan kumandanın meta verilerinin yerel kopyasını kontrol ediyor olmasıdır. Bu nedenle, meta verilerin yerel kopyasının güncel olduğundan emin olmak için git fetch komutunu kullandık.

Ekibiniz İçin Doğru Git İş Akışı ve Dallanma Modelini Nasıl Seçersiniz?
İLGİLİ Ekibiniz İçin Doğru Git İş Akışı ve Dallanma Modelini Nasıl Seçersiniz?

İstediğimiz şubeyi tespit ettikten sonra devam edip kontrol edebiliriz. -b (şube) seçeneği ile git checkout komutunu, ardından yerel şube için kullanacağımız adı ve ardından uzak şubenin adını kullanıyoruz.

 git checkout -b mary-özellik kaynağı/mary-özellik 

Uzak bir dalı git checkout -b komutuyla kontrol etme

Uzak şubeyi kontrol ettiğimizi ve uzak şubedeki değişiklikleri takip edecek yerel bir şube oluşturduğumuzu görebiliriz.

 git şubesi 

Geçerli şube olarak seçilen uzak şubenin yeni oluşturulan kopyası ile git şubesi komutuyla yerel şubeleri listeleme

Yeni yerel şubemiz artık mevcut çalışan şubemizdir.

Ad Çakışmalarını Yönetme

Uzak şubeyle aynı ada sahip bir yerel şubeniz varsa, uzak şubeyi teslim almadan önce yerel şubenizi yeniden adlandırabilir veya uzak şubeyi teslim alıp farklı bir yerel şube adı belirtebilirsiniz.

Uzak şubeyi farklı isimli bir yerel şubeye teslim etmek için, daha önce kullandığımız aynı komutu kullanabilir ve yeni bir yerel şube adı seçebiliriz.

 git checkout -b mary-testi kaynağı/mary-özelliği 

Yerel şube uzak şubeden farklı bir ada sahipken git checkout -b komutuyla uzak bir şubeyi kontrol etme

Bu, o şubeye yapılan yerel taahhütleri izleyecek olan "mary-test" adlı yerel bir şube oluşturur. İtmeler uzak "origin/mary-feature" şubesine gidecektir.

Yerel ad çakışmalarını halletmenin muhtemelen en iyi yolu budur. Yerel ve uzak şubenin adını gerçekten aynı tutmak istiyorsanız, uzaktan kumandayı kontrol etmeden önce yerel şubenizi yeniden adlandırmanız gerekir. Bir dalı yeniden adlandırmak Git'te önemsizdir.

 git şubesi -m mary-özelliği yaşlı-mary-branch 

Bir dalı git Branch -m komutuyla yeniden adlandırma

Artık uzak "origin/mary-feature" dalını kontrol edebilirsiniz.

Birden Çok Uzak Depoyu Yönetme

Yapılandırılmış birden çok uzak deponuz varsa, uzak şubeyi teslim alırken uygun depoyla çalıştığınıza dikkat etmeniz gerekir.

Uzak havuzlarınızı listelemek için -v (görünüm) seçeneğiyle remote komutu kullanın.

 git uzaktan -v 

Uzak depoları git remote -v komutuyla listeleme

Kullanılabilir tüm şubeleri görmek için, tüm uzaktan kumandalarımızdan meta verileri almamız ve ardından uzak şubeleri listelememiz gerekir.

 git getir -- tümü
 git şubesi -- tümü 

Yerel meta verileri güncellemek için git fetch --all kullanma ve yerel ve uzak tüm şubeleri listelemek için git Branch --all kullanma

İstediğimiz şubenin “orijin” kumandasında olduğunu görebiliriz. Kontrol etme komutu, daha önce kullandığımız formatta. "Origin" uzak adını ve "mary-feature" şube adını belirtmemiz gerekiyor.

 git checkout -b mary-özellik kaynağı/mary-özellik 

Uzak adı ve dal adını kullanarak git checkout -b komutuyla uzak bir dalı kontrol etme

İLİŞKİLİ: Git Uzaktan Kumandaları Nasıl Değiştirilir, Eklenir ve Kaldırılır

Ödeme Yapmadan Önce

Ödeme yapmadan önce birkaç şeyi aklınızda bulundurun ve iyi olacaksınız.

İsim çakışmalarından kaçındığınızdan emin olun. Uzak şubeyle aynı ada sahip bir yerel şubeniz varsa, yerel şubeyi yeniden adlandırıp adlandırmayacağınıza veya uzak şubeyi izlemek için farklı bir ada sahip bir şube oluşturacağınıza karar verin.

Birden fazla uzak depo kullanıyorsanız, doğru uzaktan kumandayı kullandığınızdan emin olun.

İLİŞKİLİ: Git rebase: Bilmeniz Gereken Her Şey