Magit - Son taahhüdü geri al - Tarih Manipülasyonu


12

Bu StackOverflow sorusu son taahhütleri geri almak için en iyi çözümlere / yaklaşımlara sahiptir.

Magit'i birkaç hafta önce kullanmaya başladım ve tüm belgelerine baktıktan sonra, yanlışlıkla taahhüt edilen bir değişikliği geri almanın kesin / en iyi yolu yok.

Örneğin:
Geri alma ve yineleme için son taahhüdü kullanabiliriz:

$ git commit -m "Something terribly misguided"
$ git reset HEAD~
<< edit files as necessary >>
$ git add ... 
$ git commit -c ORIG_HEAD # To keep the same commit message

Magit kullanarak bu yordamı yeniden oluşturmak için en iyi iş akışı ne olmalıdır ?

Yanıtlar:


17

Kullanabilirsiniz magit-reset(varsayılan olarak bağlı x). Noktadaki taahhüt, bilgi istemi için varsayılan olarak kullanılır, ancak istediğiniz herhangi bir düzeltme değerini girebilirsiniz ("HEAD ~" buraya).

Sıfırlama komutları kılavuzun "Sıfırlama" bölümünde açıklanmıştır: https://magit.vc/manual/magit/Resetting.html

İşlem mesajını yeniden kullanmak için işlem =Caçılır penceresindeki seçeneği kullanabilirsiniz . İstemsiz olarak, istem şu anda herhangi bir tamamlama değeri sunmuyor (muhtemelen en azından sunması gerektiğini düşünüyorum ORIG_HEAD), ancak sıfırlamadan önce mevcut işlemin karmasını öldürme halkasına koyabilirsiniz (örneğin, C-w"Head:" satırında Durum tamponunun) ve ardından sıfırladıktan sonra, =Cseçeneği için değer olarak sıralayın .


Bazı ek yorumlar:

  • Kullanmak yerine =C, commit ( cc) işlevini başlatmanın ve daha sonra git-commit-prev-message ( M-p) kullanarak önceki iletiler arasında geçiş yapmanın daha uygun olduğunu görebilirsiniz.

  • Yalnızca son taahhüdü değiştiriyorsanız, magit-commit-amend ( ca) veya magit-commit-extend( ce) ile önceki taahhüde yönelik aşamalı değişikliklerin üstesinden gelebilirsiniz . (İkincisi, COMMIT_EDITMSG arabelleğini atlayarak yürütme mesajını yeniden kullanır.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.