Bu makale, git'te tüm taahhütleri tek bir taahhütte nasıl Squash yapacağınızı detaylandıracaktır. CentOS 8 Linux dağıtımındaki tüm adımları uyguladık.
Squash git ile birleşiyor
Git squashing'i aşağıdaki adımlara uygulayabilirsiniz:
Adım 1: Taahhüdü başlat'ı seçin
Kaç tane taahhütte bulunmanız gerektiğini belirlemek için terminalde aşağıdaki komutu çalıştıracaksınız:
$ git günlüğü
Şimdi, aşağıdaki komutu kullanarak etkileşimli bir yeniden temel oturumu başlatmak için git'i çağıracaksınız:
$ git rebase -i HEAD~NYukarıdaki HEAD~N'de, 'N', 'git log' komutundan belirlediğiniz toplam taahhüt sayısıdır. Diyelim ki, taahhüt sayısı 4. Şimdi, komut aşağıdaki forma dönüşecek:
$ git rebase -i HEAD~4Aşağıdaki taahhüt listesi, her birinin kelime seçme ile baktığı terminalde görüntülenecektir.
2. Adım: Seçimi Squash olarak değiştirin
Burada, tüm taahhütleri ezilebilir olarak işaretleyeceğiz, başlangıç noktası olarak kullanılacak ilk taahhütü bırakacağız. Bu nedenle, 'i' tuşuna basarak vim editörünü ekleme moduna değiştirin ve ilk taahhüt dışında tüm seçim taahhütlerini squash'a değiştirin. Şimdi, ekleme modunu değiştirmek için 'Esc' tuşuna basın ve ':wq'ye basın!' tüm değişiklikleri kaydetmek ve çıkmak için. Basit metin düzenleyiciyi kullanıyorsanız, 'seç' kelimesini 'squash' olarak değiştirebilir ve değişiklikleri kaydedebilirsiniz. Bundan sonra, terminalde aşağıdaki pencereyi göreceksiniz:
Bu kabuktan ayrılacağınız zaman, terminal penceresinde aşağıdaki mesajları göreceksiniz:
Hepsini ezecekseniz, tüm taahhütlerin terminalde görüntülenecek tek bir taahhüt ifadesinde birleştiğini göreceksiniz:
Sonuç
Git squash'ı kullanarak, birçok taahhüdü daha küçük tek bir taahhüde kolayca ezebilir veya sıkıştırabilirsiniz. Belge yazım hatalarını düzeltmek için bu tekniği kullanabilirsiniz. Bu yazıda git squash uyguladık. Ayrıca git rebase ve squash komutlarını kullanarak tarihi nasıl temiz yapabileceğimizi gördük.