Git
Chapters ▾ 2nd Edition

A3.4 Ek bölüm C: Git Komutları - Dallandırma ve Birleştirme Komutları

Dallandırma ve Birleştirme Komutları

Git’te dallanma ve birleştirme işlevlerinin çoğunu uygulayan yalnızca birkaç komut vardır.

git branch

git branch komutu aslında bir tür dal yönetim aracıdır. Sahip olduğunuz dalları listeleyebilir, yeni dal oluşturabilir, dalları silebilir ve dalların adını değiştirebilir.

Git Dalları bölümünün çoğu git branch komutuna ayrılmıştır ve tüm bölüm boyunca kullanılmıştır. Bunu ilk olarak Yeni bir Dal Açma bölümnde tanıttık ve diğer özelliklerinin çoğunu (listeleme ve silme) Dal Yönetimi bölümünde inceledik.

Dalları Takip bölümünde bir izleme dalı oluşturmak için git Branch -u seçeneğini kullandık.

Son olarak Git Referansları bölümünde arka planda yaptıklarından bazılarını inceledik.

git checkout

git checkout komutu, dalları değiştirmek ve içeriği çalışma dizininize aktarmak için kullanılır.

Komutla ilk olarak Dallararası Geçiş bölümünde git Branch komutuyla karşılaştık.

Dalları Takip bölümünde --track bayrağının dalları izlemeye başlamak için nasıl kullanılacağını gördük.

Çakışmaları Kontrol Etme bölümünde --conflict=diff3 bayrağıyla dosya çakışmalarını yeniden ortaya çıkarmak için kullandık.

Reset Komutunun Gizemleri bölümünde git reset ile olan ilişkisini daha ayrıntılı olarak ele aldık.

Son olarak HEAD (baş/uç) bölümünde bazı uygulama ayrıntılarına girdik.

git merge

git merge birleştirme aracı, bir veya daha fazla dalı üzerinde bulunduğunuz dalla birleştirmek için kullanılır. Daha sonra mevcut dalınızı birleştirme sonucuna ilerletecektir.

git merge komutu ilk olarak Dallandırma bölümünde tanıtıldı. Kitabın çeşitli yerlerinde kullanılmasına rağmen, git merge komutunun çok az türü vardır - genellikle yalnızca birleştirmek istediğiniz tek dalın adını içeren git merge <branch> sözdizimi.

Çatallanmış Açık Projeler bölümünün en sonunda sıkıştırılmış birleştirmenin (Git’in işi birleştirdiği ancak birleştirdiğiniz dalın geçmişini kaydetmeden, sadece yeni bir katkı işliyormuş gibi davrandığı) nasıl yapılacağını ele aldık.

İleri Seviye Birleştirme bölümünde sorunlu bir birleştirmeyi iptal etmek için -Xignore-space-change komutu ve --abort bayrağı da dahil olmak üzere, birleştirme işlemi ve komutu hakkında birçok şeyi gözden geçirdik.

Projeniz GPG oturum açmayı kullanıyorsa, birleştirmeden önce imzaları nasıl doğrulayacağımızı Katkıları İmzalama bölümünde öğrendik.

Son olarak Alt Ağaç Birleştirme bölümde alt-ağaçları birleştirmeyi öğrendik.

git mergetool

git mergetool komutu, Git’te birleştirmeyle ilgili sorun yaşamanız durumunda harici bir birleştirme yardımcısını başlatır.

Birleştirme Çakışması (merge conflict) bölümünde bundan kısa bir şekilde değinip ve Harici Birleştirme ve Fark Araçları bölümünde kendi harici birleştirme aracınızı nasıl uygulayacağınız konusunda ayrıntılara girdik.

git log

git log komutu, bir projenin ulaşılabilir kayıtlı geçmişini en son pozdan geriye doğru göstermek için kullanılır. Varsayılan olarak yalnızca o anda bulunduğunuz dalın geçmişini gösterir, ancak temas edeceğiniz başka dalları ve hatta birden fazla başlık veya dalı argüman olarak verebilirsiniz. Yine de genellikle iki veya daha fazla dal arasındaki farkları katkı düzeyinde göstermek için kullanılır.

Bu komut kitabın neredeyse her bölümünde bir projenin geçmişini göstermek için kullanıldı.

Katkı Geçmişini Görüntüleme bölümünde komutu tanıtıp, detaylı olarak ele alacağız. Burada, her bir katkıda nelerin tanıtıldığı hakkında bir fikir edinmek için -p ve --stat seçeneğine ve geçmişi daha kısa bir şekilde görüntülemek için, bazı basit tarih ve yazar filtreleme seçenekleriyle birlikte --pretty ve --oneline seçeneklerine baktık.

Yeni bir Dal Açma bölümünde, dal işaretçilerimizin nerede bulunduğunu kolayca görselleştirmek için bunu --decorate seçeneğiyle birlikte ve ayrıca farklı geçmişlerin nasıl göründüğünü görmek için --graph seçeneğiyle kullandık.

Küçük Özel Ekipler ve Katkı Aralığı bölümlerinde, hangi katkıların dala özel ve hangi dalla ilişkili olduğunu görmek için git log komutunu kullanmak üzere branchA..branchB sözdizimini ele aldık. Katkı Aralığı bölümünde ise bunu oldukça kapsamlı bir şekilde inceledik.

Merge Günlüğü ve Üçlü Nokta (…​) bölümlerinde branchA...branchB biçim ve --left-right sözdizimini kullanarak, iki dalın birbirinden farkını görmeyi ele aldık.

Merge Günlüğü bölümünde, birleştirme çakışması yaşadığımızda hata ayıklamasına yardımcı olmak için --merge ve --cc seçeneklerinin nasıl kullanılacağına baktık.

Referans Günlüğü (Reflog) Kısa Adları bölümnünde, git reflog 'u dal geçişi yerine, bu araç aracılığıyla görüntülemek için -g seçeneğini kullandık.

Arama bölümünde, kodda tarihsel olarak meydana gelen bir şeyi (bir fonksiyonun geçmişini görmek gibi) bulmak için oldukça karmaşık aramalar yapmak üzere -S ve -L seçeneklerini kullanmayı öğrendik.

Katkıları İmzalama bölümünde, git log çıktısındaki her bir katkıyı geçerli bir şekilde imzalanıp imzalanmadığına bağlı olarak, bir doğrulama dizesi eklemek için --show-signature komutunun nasıl kullanılacağımızı gördük.

git stash

git stash komutu, bir dalda tamamlanmamış işleri bitirmek zorunda kalmadan, (çalışma dizininizi temizlemek amacıyla) kaydedilmemiş işleri geçici olarak depolamak için kullanılır.

Bu konu tamamen Saklama ve Silme bölümünde ele alınmıştır.

git tag

git tag komutu, kod geçmişindeki belirli bir noktaya, kalıcı bir yer imi vermek için kullanılır. Genellikle sürümleri etiketlemek gibi şeyler için kullanılır.

Bu komut Etiketleme bölümünde tanıtılmış ve ayrıntılı olarak ele alınmıştır ve bunu pratik olarak Sürümü Etiketlemek bölümünde kullandık.

Ayrıca Çalışmanızı İmzalama bölümünde -s bayrağıyla GPG imzalı bir etiketin nasıl oluşturulacağını ve -v bayrağıyla nasıl doğrulanacağını da ele aldık.

scroll-to-top