Git commit mesajını değiştirmek için IntelliJ kullanma


105

Bir git commit mesajını kullanarak değiştirebilir mi IntelliJ, yoksa komut satırına mı başvurulmalı?

Bu nasıl yapılabilir lütfen?

Yanıtlar:


86

Görünüm => Araç Windows => Sürüm Kontrolü. ( Windows (Alt + 9) / OS X (Cmd + 9) )

IntelliJ 2017.1 ve üstü => Günlüğe gidin ve sağ tıklayın + yeniden kelime veya F2'ye basın.

IntelliJ yeniden adlandırmayı kaydetme

Aynı şubedeyken (teslim aldığınız şubeniz aynıdır)


4
Bu, WebStorm 2017.3 ile yorumları revize etmenin tek yolu (belki de komut satırının yanında) gibi görünüyor (bir işlemi zorlamak için bir değişiklik yapmadan). Bu Sürüm Kontrolü penceresi Alt + 9 veya Görünüm-> Araç Pencereleri-> Sürüm Kontrolü aracılığıyla görünür.
KOD-REaD

3
Idea 2017.3'te açıklanan komut "Yeniden Adlandır" yerine "Reword ..." olarak adlandırılmıştır (ekran görüntüsünde gösterildiği gibi :-)). F2 de çalışır.
Volker Seibt

1
IntelliJ'imde (2019.3.1) "Kaydetme Mesajını Düzenle ..." nin neden gri görüntülendiğini bilen var mı?
Cold_Class

@Cold_Class Bu taahhüt mesajınız mıydı? Birleştirme olan bir gri renk var. Gibi Merge branch 'develop' of REPO_URL into BRANCH_NAMEbu ne demek nedir?
Stefan Rein

@StefanRein - Bugün bu sorunu yaşıyordum ve kiraz toplama modunda olduğumu fark ettim - bu iptal edilmeli
Lost Crotchet

72

Değişiklik desteklenir: "Değişiklikleri Kaydet" i çağırın ve Kaydetme İletişim Kutusundaki "Değişikliği değiştir" onay kutusunu seçin. Sonra "Kaydet" düğmesine basın ve kaydetme bir öncekine göre değiştirilecektir.

Ancak destek sınırlıdır:

  • değiştirilen taahhüdün ayrıntılarını göremezsiniz,
  • herhangi bir taahhüt edilmemiş değişikliğiniz yoksa (örneğin, daha fazla değişiklik eklemeden önceki işlemenin mesajını değiştirmek istiyorsanız), "Kaydet" i çağıramazsınız.

12
İkinci soruna karşı olağan geçici çözüm, bir dosyaya bazı önemli olmayan karakterler (boşluklar vb.)
Eklemektir,

JetBrains desteği beni IDEA-81428 ve IDEA-57979 geliştirme taleplerine yönlendirdi . Bu soru ve cevap PyCharm için de geçerlidir.
Wil Cooley

10
Bu cevap 2017'den beri artık doğru değil. Şimdi kolayca yapabilirsiniz: Version Controlpanel> Logsekme> son kaydı seçin> F2'ye basın. jetbrains.com/idea/whatsnew/#v2017-2-version-control
Platinum

39

Sonunda bunun için bir çözüm buldum .. Bu sorun günlerdir beni rahatsız ediyordu.

  1. Sürüm Kontrolü - Günlük sekmesine gidin
  2. Değişikliklerinizin altındaki sürümü seçin. Sağ tıklayın ve "mevcut şubeyi buraya sıfırla" deyin
  3. "Yumuşak" seçeneğini seçin ve Sıfırla'ya tıklayın, bu çok önemlidir, değişikliklerinizin kaybolmaması için yalnızca yazılım seçeneğine tıklamanız gerekir.
  4. Sürüm kontrolünü kontrol edin, yerel değişiklikler, değişiklikleriniz aynı değişiklik listesinde mevcut olacak
  5. Değişiklik listesine sağ tıklayın ve kaydetmeyi seçin.
  6. Size önceki commit mesajınızı gösterecek, şimdi yorumları değiştirebilir ve commit ve push diyebilirsiniz.

    Note: This solution uses android studio as intellij platform. 
    

1
Benim için IntelliJ 17.3'te, sadece commit mesajını doğrudan düzenlemek için Version Control: Log'daki "Reword ... (F2)" menü öğesini kullanabilirim.
Claes Mogren

28

Git klasörünüze powershell, cmd veya bash gibi bir terminal ve kabukla da gidebilir (sisteminize bağlıdır) ve ardından şunu yazabilirsiniz:

git commit --amend -m "your new commit message"

3
IntelliJ entegre bir terminal sağladığından, IDE'den çıkmanıza bile gerek yok. Bu muhtemelen en hızlı yoldur.
walen

14

Commit mesajları bir yeniden ödeme sırasında düzenlenebilir. Çağırma Rebasegelen komuta VCSmenüsü, şube ayarlarını onaylamak, ardından Rebase butonuna tıklayın. Yüklenmemiş taahhütlerinizin bir listesi size sunulacak. rewordDüzenlemek istediğiniz mesajın solundaki açılır menüden eylemi seçin .

Diğer yeniden taban işlemleriyle ilgili ayrıntılar için Yeniden Yazma Geçmişindeki git belgesine bakın.


2
Bu daha iyi seçeneklerden biridir. Değişikliklerinizi başlangıca kadar zaten ittiyseniz, IDE sizi uyaracaktır. Bu iyi bir şey, sanki birisi sizin ittiğiniz commit'i zaten çekmiş gibi, commit mesajını değiştirmek, sadece commit mesajını değiştirseniz bile, önceki commit'i çeken herkesin de geri ödeme yapması gerekeceği anlamına gelir. Bu genellikle "kötü bir şey" dir.
Chris Cogdon

3

Günlük sekmesinde, işlemi seçin ve F2'ye (Reword) basın. Bu kadar.


2

Adil olmak gerekirse, bunu yapmanın en hızlı yolu komut satırı kullanmaktır. OP'nin bunu IntelliJ aracılığıyla yapmayı sorduğunu biliyorum (Bu soruyu nasıl buldum, PHPStorm'da yapmaya çalışıyordum), ama cidden, komut satırı aracılığıyla çok daha kolay.

Terminal / komut isteminde doğru klasörde olduğunda yazın

git commit --amend

Daha sonra son işlem mesajı gösterilir, metni düzenleyin ve dosyayı kaydedin, iş bitti!

Düzenleyiciyi değiştirmek istiyorsanız (varsayılan olarak vi'dir), bu komutu kullanın ve "vim" i istediğiniz düzenleyiciye değiştirin.

git config --global core.editor "vim"

yani Windows kullanıcıları isteyebilir ...

git config --global core.editor "notepad"

Kaynak: https://help.github.com/articles/changing-a-commit-message/


1
Cevabınız diğerlerine çok benziyor ve daha az uygun bir yöntem getiriyor. git commit --amend -m my_new_messagecommit mesajını doğrudan komut satırından değiştirmek için kullanılır.
Christopher J.

Bunun iyi olduğunu düşünüyorum. Yanlış mesaja göre mesajı değiştirebiliriz. Ve "VI" editörü de iyidir.
Leo Lee

@Hayalhanemersin - özür dilerim, bunu gönderirken cevabınızı görmedim. Varsayılanı beğenmezseniz, editör değişikliği eklemem olduğu için burada bırakacağım.
Steve Childs

2

Durum 2018.3 ve 2017.1 ile aynı

Alt + 9(sürüm kontrol penceresi)

Ve sağ tıklayın -> içerik menüsünden "Reword ... F2" seçeneğini tıklayın.

VEYA

kısayol F2Mesajı düzenleyebilirsiniz.


1

JetBrains'te Go to View -> Version Control-> Bu, ekranın alt kısmındaki sürüm kontrol günlüğü sekmesini açar ve en Go to Logson yaptığınız işlemi sağ tıklayın ve seçinundo commit

Bingo! Tüm taahhüdünüzü geri aldınız ve mesaj silinir. Ayrıca yalnızca kaydetme mesajını değiştirmek istemeniz durumunda yazılımdan sıfırlamayı da seçebilirsiniz.

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.