Git Fetch: Bir Ustalık Sınıfı
Yayınlanan: 2023-02-26 Git fetch
komutu, sıçramadan önce bakmanızı sağlar. Uzak bir havuzda hangi değişikliklerin yapıldığını keşfedebilirsiniz, ancak uzak dosyaları yerel dosyalarınızın üzerine yazmadan.
git fetch nedir ve ne işe yarar
Git getirme ve çekme
Git fetch ile Yerel ve Uzak Depolarınızı Senkronize Edin
Tüm Alınan Etiketleri Gör
Önce Prova Yapmak
Tek Şube Nasıl Getirilir
Tüm Dalları Getir
Yerel ve Uzak Şubeleri Karşılaştırma
Yerel Şubeyi Uzak Şube ile Senkronize Etme
Yarı Eğitilmiş Köpek Yavrusu
git fetch nedir ve ne işe yarar
Git'teki fetch
komutu, uzak bir havuzdaki taahhütleri, dosyaları ve diğer bilgileri yerel deponuza güvenli bir şekilde indirir. Değişiklikleri kabul etmeye zorlanmadan diğer geliştiricilerin yaptığı değişiklikleri görmek istediğinizde getirmeyi kullanın. Yerel dosyalarınıza dokunulmaz. Bu neden önemli?
Bir geliştirme ekibinin parçası olarak çalışırken aklınızı başınıza almalısınız. Uzak veya merkezi havuz, diğer geliştiricilerin oluşturup uzak havuza ittiği değişiklikleri ve yeni dalları içerecektir.
Bilgisayarınızda yerel olarak değiştirdiğiniz dosyaların uzak kopyasını birisi güncellemiş olabilir. Yerel deponuzu güncellemek için rasgele bir git pull
gerçekleştirirseniz, muhtemelen istemediğiniz değişiklikler için birleştirme işlemlerini kendiniz halledersiniz.
Bilgileri indirdikten sonra inceleyebilir ve değişikliklerin neler olduğunu görebilirsiniz. Bu, şu anda neyi birleştirmek istediğiniz ve neyi daha sonraya ertelemek istediğiniz konusunda bilinçli bir seçim yapmanızı sağlar.
Git getirme ve çekme
git fetch
komutu, git pull
komutu gibi davranır, ancak yerel dosyalarınızın üzerine yazan adım yoktur . Yerel deponuz güncellenir ve senkronize edilir, ancak değişiklikler yerel havuzunuzun çalışma durumuna yazılmaz, bu nedenle dosyalarınız dokunulmaz.
Ya da başka bir deyişle, git pull
komutu bir git fetch
onu hemen takip eden git merge
gibidir.
Git fetch ile Yerel ve Uzak Depolarınızı Senkronize Edin
Tüm güncellenmiş meta verileri ve taahhütleri uzak bir depodan yerel deponuza getirmek için, uzak deponun adı veya URL'si ile git fetch
komutunu kullanın. Varsayılan olarak, ilk uzak havuz "orijin" olarak adlandırılır.
git menşei getir
Tek bir uzak havuzla çalışıyorsanız "orijin" kelimesini atlayabilirsiniz.
git getir
Bu, "menşe" deposundan tüm güncellemeleri alır, ancak değişiklikleri çalışan dosyalarla birleştirmez. Bizim için alınmış “new-branch” adında yeni bir şube olduğunu görebiliriz.
fetch
komutunu kullandıktan sonra, Branch komutuyla -r
(remote) seçeneğini kullanarak uzaktan kumandadaki dalların tam listesini görebilirsiniz.
git dalı -r
Bu, uzaktan kumandanın bildiği, fetch
sonra yerel deponuzda bulunan tüm şubeleri listeler.
Tüm Alınan Etiketleri Gör
Benzer şekilde, etiketlerin listesini görmek için tag
seçeneğini kullanabilirsiniz (dikkat edin, "s" olmadan "etiket").
git etiketi
İLİŞKİLİ: Git Uzaktan Kumandaları Nasıl Değiştirilir, Eklenir ve Kaldırılır
Önce Prova Yapmak
Bir git fetch
çalışma dosyalarınızdaki değişiklikleri birleştirmese de, yine de yerel deponuzu günceller. fetch
komutunun hangi değişikliği gerçekleştireceğini, gerçekten değiştirmeden görmek istiyorsanız, --dry-run
seçeneğini kullanın.
git fetch --dry-run
Tek Şube Nasıl Getirilir
Tek bir şube hakkında bilgi almak kolaydır. fetch
yalnızca o dal hakkında bilgi sahibi olmanız gerektiğini söylemek için dalın adını komut satırına ekleyin.
Burada, fetch
uzak depo "origin"den "mary-feature" dalı almasını söylüyoruz.
git Origin mary özelliğini getir
Artık uzak şubenin ayrıntıları ve içeriği yerel deponuzda olduğuna göre, yeni bir şube oluşturmak ve uzak şubeyi kontrol etmek için git checkout
komutunu kullanabilirsiniz. Bu dalı ilk kez kullanıyorsanız, bu mevcut dosyaların üzerine yazmaz.
git checkout -b mary-özellik kaynağı/mary-özellik
Tüm Dalları Getir
Birden fazla uzaktan kumanda kullanıyorsanız, --all
seçeneğini kullanarak tüm şubelerdeki tüm değişiklikleri yerel deponuza geri çekerek zaman kazanabilirsiniz.
git getir -- tümü
Yerel ve Uzak Şubeleri Karşılaştırma
Uzak şubedeki dosyaların yerel kopyalarınızdan nasıl farklı olduğunu görmek için git fetch
kullanın, ardından git log
komutunu kullanın.
Yerel ve uzak şubelerin onları ayıran iki nokta “ ..
” olduğuna dikkat edin. --oneline
seçeneği, taahhüt tanımlayıcısını ve taahhüt mesajını gösterir.
git getir
git log --oneline mary-feature..origin/mary-feature
Bir dal çok sayıda değişiklik içeriyorsa, tek satırlık görünüm kullanışlıdır. Biraz daha fazla bilgi görmek için --oneline
seçeneğini atlayın.
git log mary-feature..origin/mary-feature
Bu bize, taahhüt mesajı ve değişiklik yazarının iletişim ayrıntılarıyla birlikte her bir taahhüdün saatini ve tarihini gösterir.
Yerel Şubeyi Uzak Şube ile Senkronize Etme
Devam etmeye ve uzak şubedeki değişiklikleri yerel çalışma dosyalarınızla birleştirmeye karar verdiyseniz, bu komutları kullanabilirsiniz.
Çalıştığımızdan emin olmak için şubeyi kontrol edeceğiz, şu anki çalışan şubemiz..
git checkout mary özelliği
Şube bizim için kontrol edildi ve uzak versiyonun arkasında olduğu söylendi. Güncellemek için git pull
, ardından durumumuzu kontrol etmek için git status
kullanabiliriz.
git çek
git durumu
Yerel dosyalarımızda bazı değişiklikler yaptıysak, şubeyi teslim aldığımızda Git bize bir birleştirme başlatmak için bir git pull
gerçekleştirmemiz gerektiğini bildirir.
git checkout mary özelliği
Basit bir git pull
dosyaları alma ve birleştirme sürecini başlatır veya doğrudan dalıp git merge
kendisini kullanabiliriz. Doğru şube ile çalıştığımızdan emin olarak başlayacağız
git checkout mary özelliği
git
mevcut şubemizi uzak depodaki şubeyle birleştirmesini söyleyeceğiz, çözülmesi gereken altı farklı taahhüt var.
Git'e hangi uzak dalı birleştirmek istediğimizi söylememiz gerekiyor.
git birleştirme kaynağı/mary-özelliği
Bir taahhüt mesajı sağlamamıza izin veren bir editör açılır. Önerilen mesajı kabul edebilir veya kendimizinkini ekleyebiliriz. Git farklı bir düzenleyici kullanmak üzere yapılandırılmadığı sürece, düzenleyici varsayılan düzenleyicinizdir.
Devam etmeye hazır olduğunuzda değişikliklerinizi kaydedin. Düzenleyici kapatıldığında birleştirme otomatik olarak devam eder.
Birleştirmemiz başarılı oldu çünkü herhangi bir çatışma olmadı.
Aynı kod satırları iki veya daha fazla geliştirici tarafından değiştirildiğinde çakışmalar ortaya çıkar. Bu durumda Git, etkilenen dosyadaki çakışmaları işaretler. Bunları sırayla incelemeniz ve hangi değişikliğin korunacağını seçmeniz gerekir.
Yarı Eğitilmiş Köpek Yavrusu
Tıpkı eğitimdeki bir köpek yavrusu gibi, fetch
istediğini alacak, ama onu bırakmayacak. Yavru köpeğin size gösterdiği şeyi gerçekten istiyorsanız, pull
gerekecek.
İLİŞKİLİ: Git rebase: Bilmeniz Gereken Her Şey