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.