Uzak Git Şubesi Nasıl Kontrol Edilir
Yayınlanan: 2023-01-23Geliş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.
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
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
İ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
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
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.
İ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 şubeyi kontrol ettiğimizi ve uzak şubedeki değişiklikleri takip edecek yerel bir şube oluşturduğumuzu görebiliriz.
git şubesi
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
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
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
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ü
İ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
İ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