2017-11-27 8 views
-1

プッシュされていないコミットのメッセージを変更したい。したがって、コマンドを使用していますGit - 前のコミットメッセージを変更しようとすると、間違ったコミットにつながる

git rebase -i "commitId". 

ただし、このコマンドを実行すると、編集したいコミットメッセージが表示されません。おそらくそれは私の他のコミットのメッセージを示しているでしょう。何かが間違っていたので、正しいコミットとのマッチはもう働かないのですか?例:

がcad487486b6465dff38b25392673ba23024fe615(HEAD - >マスター)がコミット 著者:カーンCayoglu 日:月11月27日13時04分44秒2017 0100

LPM-406 - Send encryption certificates to stand-in 

788ae89a51779a07be3b3266a22cef750298bcea 著者をコミット:カーンカヨグル 日時:11月27日13時03分34秒2017 +0100

LPM-405 - Renewal of softtoken 
カーンCayoglu 日:月11月27日12時56分47秒2017 0100

LPM-396 Replace softtoken process 

は、それでは、私は8bca40e4c9b933e7bcc9b430d72d97fb309eeba5のメッセージを編集したいとしましょう

8bca40e4c9b933e7bcc9b430d72d97fb309eeba5 著者をコミットします。私はコマンドgit rebase -i "8bca40e4c9b933e7bcc9b430d72d97fb309eeba5"を使用しています。 viエディタが開きますが、両方のコミットのメッセージが表示されますが、表示したいものは表示されません。何か案は..?

答えて

1

あなたが使用して、コマンドがこのメッセージを変更するために使用することができますが、あなただけの最後にそれを行うことが容易であるコミットのメッセージを変更したい場合は、対話型リベースgit rebase -i次のとおりです。

git commit --amend -m "New message" 

(注)このことコミットの日付とメッセージ、したがってコミットのSHA-256キーが変更されるため、発行されたコミットでこれを行うのは悪い考えです。

+0

私は見ていますが、とにかく私の最後のコミットを変更したくありませんでした –

3

rebaseへの引数が新しいベースコミットであるため、commitId^を引数にします。 ^は、指定されたコミットの親を示します。

+0

伝説...助けてくれてありがとう! –

+0

しかし、正確ではありません。引数は "上流"で、rebaseが処理するコミットを探す場所を定義します(デフォルトで*は、コミットが書き換えられる新しいベースとしても機能しますが、 '--onto'を参照してください)。コミットIDが親を持たないので、 'commitId ^'を 'commitId ^'に置き換えると 'commitId ^'は有効ではないことがあります。 - ルート)。 –

関連する問題