Git Fetch: Bir Ustalık Sınıfı

fatmawati achmad zaenuri/Shutterstock.com
git fetch komutu, yerel deponuzu bilgilerle güncelleyen ve çalışma dosyalarınızın üzerine yazmadan uzak depodan taahhütler alan bir git pull komutu gibidir.

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

Varsayılan uzak depoda git fetch komutunu kullanma

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

Varsayılan uzaktan kumandada bulunan dallara bakmak

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

Yerel depodaki etiketleri listelemek için git tag komutunu kullanma

İ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

--dry-run seçeneğini kullanarak fetch komutunun alacağı değişiklikleri görün

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

Tek bir uzak dalı almak için git fetch kullanma

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

Alınan bir uzak şubeyi yeni bir yerel şubeye güvenle kontrol etme

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

Uzak değişiklikleri getirmek için git'i ve değişiklikleri göstermek için git log'u kullanma

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

--oneline seçeneğini atlayarak thatgit'in her işlem için daha fazla ayrıntı göstermesi

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

Bir şubeyi kontrol etmek

Ş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

Değişiklikleri rmeote deposundan yerel olana çekme

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

Git, yerel ve uzak ağların birbirinden ayrıldığını ve birleştirilmesi gerektiğini bize bildiriyor

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

Git, yerel ve uzak ağların birbirinden ayrıldığını ve birleştirilmesi gerektiğini bize bildiriyor

söyleyeceğiz git mevcut şubemizi uzak depodaki şube ile birleştirmek için çözülmesi gereken altı farklı taahhüt vardır.

Başarılı bir birleştirme mesajı

Git’e hangi uzak dalı birleştirmek istediğimizi söylememiz gerekiyor.

git merge origin/mary-feature

uzak değişiklikleri yerel bir dalda birleştirmek için git birleştirme kullanma

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.

Taahhüt mesajını düzenleme

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ı.

Başarılı bir birleştirme mesajı

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

LEAVE A REPLY

Please enter your comment!
Please enter your name here