Git fetch
komutu atlamadan ö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
bu fetch
Git’teki komut, uzak bir depodan yerel deponuza güvenli bir şekilde taahhütleri, dosyaları ve diğer bilgileri 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. Rastgele bir performans sergilerseniz git pull
yerel deponuzu güncellemek için, muhtemelen istemediğiniz değişiklikler için birleştirme işlemlerini kendiniz bulacaksınız.
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
bu git fetch
komut gibi davranır git pull
emir ama olmadan yerel dosyalarınızın üzerine yazan adım. Yerel deponuz güncellenir ve senkronize edilir, ancak değişiklikler yerel deponuzun çalışma durumuna yazılmaz, bu nedenle dosyalarınız dokunulmaz.
Ya da başka bir deyişle, git pull
komut bir gibidir git fetch
hemen ardından bir git merge
.
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 şunu kullanın: git fetch
uzak havuzun adı veya URL’si ile komut. Varsayılan olarak, ilk uzak havuz “orijin” olarak adlandırılır.
git fetch origin
Tek bir uzak havuzla çalışıyorsanız “orijin” kelimesini atlayabilirsiniz.
git fetch
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.
kullandıktan sonra fetch
komutunu kullanarak uzaktan kumandadaki şubelerin tam listesini görebilirsiniz. -r
(uzak) şube komutu ile seçeneği.
git branch -r
Bu, uzaktan kumandanın bildiği tüm şubeleri listeler; fetch
ayrıca yerel deponuzdadır.
Tüm Alınan Etiketleri Gör
Benzer şekilde, tag
etiketlerin listesini görmek için seçenek (not, “s” olmadan “etiket”).
git tag
İLGİLİ: Git Uzaktan Kumandaları Nasıl Değiştirilir, Eklenir ve Kaldırılır
Önce Prova Yapmak
rağmen bir git fetch
değişiklikleri çalışma dosyalarınızda birleştirmez, yine de yerel deponuzu günceller. Neyin değiştiğini görmek istiyorsanız fetch
komut, onları gerçekten yapmadan gerçekleştirecek, --dry-run
seçenek.
git fetch --dry-run
Tek Şube Nasıl Getirilir
Tek bir şube hakkında bilgi almak kolaydır. Anlatmak için şubenin adını komut satırına ekleyin fetch
sadece o şube hakkında bilgi sahibi olmanız yeterlidir.
İşte, söylüyoruz fetch
“origin” uzak deposundan “mary-feature” şubesini almak için.
git fetch origin mary-feature
Artık uzak şubenin ayrıntıları ve içeriği yerel deponuzda olduğuna göre, git checkout
yeni bir şube oluşturmak ve uzak şubeyi kontrol etmek için komut. Bu dalı ilk kez kullanıyorsanız, bu mevcut dosyaların üzerine yazmaz.
git checkout -b mary-feature origin/mary-feature
Tüm Dalları Getir
Birden fazla uzaktan kumanda kullanıyorsanız, tüm şubelerdeki tüm değişiklikleri yerel deponuza geri çekerek zaman kazanabilirsiniz. --all
seçenek.
git fetch --all
Yerel ve Uzak Şubeleri Karşılaştırma
Uzak şubedeki dosyaların yerel kopyalarınızdan ne kadar farklı olduğunu görmek için şunu kullanın: git fetch
ardından git log
emretmek.
Yerel ve uzak şubelerin iki dönemi olduğunu unutmayın “..
” onları ayırıyor. bu --oneline
seçeneği, taahhüt tanımlayıcısını ve taahhüt mesajını gösterir.
git fetch
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çenek.
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-feature
Şube bizim için kontrol edildi ve uzak versiyonun arkasında olduğu söylendi. Kullanabiliriz git pull
güncellemek için, ardından git status
Durumumuzu kontrol etmek için.
git pull
git status
Yerel dosyalarımızda bazı değişiklikler yaptıysak, şubeyi teslim aldığımızda Git bize bir işlem yapmamız gerekeceğini bildirir. git pull
Birleştirme başlatmak için.
git checkout mary-feature
Basit git pull
dosyaları alma ve birleştirme sürecini başlatır veya doğrudan dalıp kullanabiliriz git merge
kendisi. Doğru şube ile çalıştığımızdan emin olarak başlayacağız
git checkout mary-feature
söyleyeceğiz git
mevcut şubemizi uzak depodaki şube ile birleştirmek için çözülmesi gereken altı farklı taahhüt vardır.
Git’e hangi uzak dalı birleştirmek istediğimizi söylememiz gerekiyor.
git merge origin/mary-feature
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 bırakmayacak. Yavru köpeğin size gösterdiği şeyi gerçekten istiyorsanız, yapmanız gerekecek pull
.
İLGİLİ: Git rebase: Bilmeniz Gereken Her Şey