Git Dalları Birleştirme ve Silme Temelleri

Basics Git Merging



Dallanma, işinizi düzenli tutmanıza yardımcı olabilir. Ancak, çalışmayı tutarlı hale getirmek için çalışmanızı birleştirebilmeniz gerekir. Dalları asla birleştirip silmezseniz, geçmişiniz anlaşılamayacak kadar kaotik hale gelebilir.

Birleştirme ve Dal Silme ile Çalışma

Önce bir ana dal oluşturalım, birkaç taahhüt koyalım, özellikler adında yeni bir dal oluşturalım, birkaç taahhüt ekleyelim, sonra master'a geri dönelim ve tekrar taahhüt edelim. İşte komutlar:







$mkdirbenim oyunum
$CDbenim oyunum
$git init
$dışarı attı 'Tasarım Kararı 1: Beyin Yıldızı' >>tasarım.txt
$git ekle -İLE
$git taahhüt -m 'C0: Başlatılan Proje'
$dışarı attı 'Tasarım Kararı 2: Kod Yaz' >>tasarım.txt
$git ekle -İLE
$git taahhüt -m 'C1: Gönderilen Kod'
$git şubesiözellikleri
$git ödemeözellikleri
$dışarı attı 'Özellik 1 Ekle' >>özellik.txt
$git ekle -İLE
$git taahhüt -m 'C2: Özellik 1'
$dışarı attı 'Özellik 2 Ekle' >>özellik.txt
$git ekle -İLE
$git taahhüt -m 'C3: Özellik 2'
$git ödemeusta
$dışarı attı 'Master'ı Yeniden Değiştirmek' >>tasarım.txt
$git ekle -İLE
$git taahhüt -m 'C4: Ana Modifiye Edildi'

Yukarıdaki komutlar aşağıdaki durumu yarattı:





Hangi taahhütlere sahip olduklarını görmek için iki şubenin geçmişini kontrol edebilirsiniz:





$git durumu
Şube yöneticisinde
taahhüt edilecek bir şey yok, çalışma dizini temiz
$git günlüğü --Tek çizgi
2031b83 C4: Ana Modifiye Edildi
1c0b64c C1: Gönderilen Kod

$git ödemeözellikleri
Şubeye geçildi'özellikleri'

$git günlüğü --Tek çizgi
93d220b C3: Özellik2
ad6ddb9 C2: Özellik1
1c0b64c C1: Gönderilen Kod
ec0fb48 C0: Başlatılan Proje

Şimdi, özellikler dalındaki tüm değişiklikleri ana dalımıza getirmek istediğinizi varsayalım. İşlemi birleştirme hedefinden başlatmanız gerekecek. Ana dal ile birleşmek istediğimiz için süreci oradan başlatmanız gerekiyor. Öyleyse ana dalı kontrol edelim:

$git ödemeusta
Şubeye geçildi'usta'

$git durumu
Şube yöneticisinde
taahhüt edilecek bir şey yok, çalışma dizini temiz

Şimdi birleştirmeyi oluşturalım:



$git mergeözellikleri

Birleştirmede herhangi bir çakışma yoksa, yorumlarla birlikte bir metin düzenleyici açılır:

Şubeyi birleştir'özellikleri'

# Lütfen bu birleştirmenin neden gerekli olduğunu açıklamak için bir taahhüt mesajı girin,
# özellikle güncellenmiş bir yukarı akışı bir konu dalında birleştirirse.
#
# '#' ile başlayan satırlar yok sayılır ve boş bir mesaj iptal edilir
# taahhüt.

Yorumları değiştirebilir veya varsayılanları kabul edebilirsiniz. Birleştirme çıktısı aşağıdaki gibi sonuçları göstermelidir:

tarafından yapılan birleştirme'yinelemeli'strateji.
özellik.txt| 2++
1 dosyadeğişti,2eklemeler(+)
mod oluştur100644özellik.txt

Birleştirmeden sonra aşağıdaki koşula sahipsiniz:

Günlükleri kontrol ederseniz şunları bulacaksınız:

$git durumu
Şube yöneticisinde
taahhüt edilecek bir şey yok, çalışma dizini temiz

$git günlüğü --Tek çizgi
46539a3 C5: Dal birleştirme'özellikleri'
2031b83 C4: Ana Modifiye Edildi
93d220b C3: Özellik2
ad6ddb9 C2: Özellik1
1c0b64c C1: Gönderilen Kod
ec0fb48 C0: Başlatılan Proje

Değişiklikleri başarıyla birleştirdiniz. Ancak, özellik dalı hala mevcuttur.

$git şubesi -ile
özellikleri
*usta

Aşağıdaki komutla silebilirsiniz:

$git şubesi -NSözellikleri

Şimdi kontrol ederseniz, yalnızca ana dalı görmelisiniz:

$git şubesi -ile
*usta

Çözüm

Kullanılmayan dalları düzenli olarak kontrol ettiğinizden ve sildiğinizden emin olun. Gezinmeyi ve anlamayı kolaylaştırmak için deponuzu temiz tutmak istiyorsunuz.

Daha fazla okuma: