Git: Mevcut Bir Taahhüt Mesajını Değiştirin

Hatalar yaygındır, hepimiz yaparız. Bu yüzden kurşun kalemlere silgi koyarlar. Ve bu Git gibi araçlardan farklı değil. Bazı değişiklikleri geri almak zor olsa da, genellikle bir yolu vardır.

Peki ya mevcut bir taahhüt mesajını değiştirmek isterseniz? Neyse ki bunu Git'te yapmak kolaydır, ancak yöntem bazı faktörlere bağlı olarak biraz değişebilir.

Son Taahhüdü Düzeltin, Henüz Uzaktan Kumandaya İtilmez

Bu en basit durumdur, çünkü uzak bir depoyu değiştirmeye gerek yoktur, sadece kendinizinkini değiştirmeniz yeterlidir. Bu durumda aşağıdaki komutu kullanabilirsiniz:

$ git commit --amend

Bu komutu çalıştırmak, değiştirebileceğiniz bir düzenleyici açacaktır. son mesaj at. İşiniz bittiğinde ve düzenleyiciyi kaydettiğinizde/kapattığınızda, taahhüt mesajı değişecektir.

Şahsen, yukarıdaki komuta bir argüman ve mesaj ekleyerek yapabileceğiniz çoğu şeyi komut satırında yapmayı tercih ederim:

$ git commit --amend -m "Added a new file"

Bu şekilde yapmak düzenleyiciyi açmaz, bunun yerine taahhüt mesajını hemen değiştirir.

Son Taahhüdü Düzelt, Uzaktan Kumandaya İtildi

Bu, başka bir yaygın durumdur ve düzeltilmesi biraz daha zordur, çünkü yalnızca kendi depomuzu değiştirmemiz gerekmiyor, aynı zamanda yerel şubenizden daha ileride olabilecek uzak depoyu da değiştirmemiz gerekiyor.

İlk adım, tıpkı önceki bölümde yaptığımız gibi, son taahhüdü değiştirmektir:

$ git commit --amend -m "Added a new file"

Ardından, bu değişiklikleri uzak depoya göndermeniz gerekir. Ancak, bu, kullanılarak yapılmalıdır. --force bayrağı.

$ git push <remote> <branch> --force

Uzak deponun üzerine kendi yerel durumumuzla yazmak için bunu bu şekilde yapmamız gerekiyor.

İtmeyi zorlayarak, aynı zamanda kaybetmek yerel şubenizde henüz bulunmayan yerel şubedeki taahhütler. Dikkatle ilerle!

En iyi uygulamalar, endüstri tarafından kabul edilen standartlar ve dahil edilen hile sayfası ile Git'i öğrenmek için uygulamalı, pratik kılavuzumuza göz atın. Googling Git komutlarını durdurun ve aslında öğrenmek o!

Hatayı yeterince hızlı yakalayabilirseniz, değişikliği yapmak sorun olmaz. Aksi takdirde, değiştirmek istediğiniz taahhüt mesajından sonra yapılan değişiklikleri kaybetmemek için başka bir çözüm bulmanız gerekebilir.

Etkileşimli Yeniden Tabanı Kullan

Daha önce açıklanan çözümlerden daha esnek olan başka bir seçenek, etkileşimli bir yeniden temel kullanmaktır. Bunu yapmak, son N taahhüdünü incelemenize ve toplama, ezme vb. dahil olmak üzere bunlarda değişiklik yapmanıza olanak tanır.

Rebase'i başlatmak için aşağıdaki komutu kullanabilirsiniz:

$ git rebase -i HEAD~n

Burada, n incelemek ve düzenlemek istediğiniz taahhütlerin sayısıdır. Daha sonra buna benzer bir taahhüt listesi göreceksiniz:

$ $ git rebase -i HEAD~4
pick 788ebf0 Oops, I forgot to add a new file
pick ced1329 Fixed a super critical bug
pick 5e9cdc5 Added a new file



















Gördüğünüz gibi, son N taahhüdünün tümü listelenmiştir ve mesajlarını gerektiği gibi değiştirebilirsiniz.

Zaman Damgası:

Den fazla Yığın kötüye kullanımı