Git|コミットログまわり
スポンサーリンク
Gitでコミットログを操作するコマンドをまとめてみました。。
直前のコミットの内容を修正する
--amend オプションを使用すると直前のコミットに上書きする形でコミットします。
$ git commit --amend
直前のコミットのコメントだけを修正する
インデックスにファイルを追加していない状態で、--amend オプションを使い際コミットするとコメントの入力だけを求められます。
この際にコメントを修正すると、直前のコミットメッセージを上書きできます。
$ git commit --amend
過去のコミットの内容を修正する
①修正するコミットをチェックアウトされた状態にする
$ git rebase -i [コミット]
コミット一覧が表示されるので、修正したいコミットの pick の文字を edit に変更して保存と終了します。
edit に変更すると修正するコミットがチェックアウトされた状態に
②該当のファイルを修正
③--amend オプションでコミット上書き
$ git commit --amend
④--continueオプションを指定してrebase
$ git rebase --continue
rebaseを途中で中止する
git rebaseコマンドの--abort オプションを使用すると、rebase コマンドを取りやめることができます。
$ git rebase --abort
HEADの移動履歴を確認する
git reflogコマンドでHEADの移動履歴が出力されます。
$ git reflog
ブランチの先頭の移動履歴を確認する
git reflogコマンドでブランチの先頭の移動履歴を確認することができます。
$ git reflog [ブランチ名]
直前のコミットを無かったことにする
--hardオプションを使用すると、インデックスとワーキングツリーを両方戻します。
HEAD^は、直前のコミットを意味します。
$ git reset --hard HEAD~
rebaseをしなかったことにする
rebaseよりも前のコミットの位置に戻すことでrebase をなかったことにします。
コミット位置には、 rebase する直前のコミットを指定します。
コミット位置には、ハッシュ値またはHEAD@{数字}を指定します。
$ git reset --hard [コミット位置]
直前のリベースを取り消しする
reset 前のコミットは、ORIG_HEADで参照できます。
ORIG_HEADを指定して、resetします。
$ git reset --hard ORIG_HEAD
指定したコミットを現在のブランチにコピーする
git cherry-pick でコミット内容を現在のブランチにも反映することができます。
$ git cherry-pick "[コミット]"
作業するブランチを間違えてしまった場合などに使用できます。
コメントからコミットを検索する
git log --grepコマンドでコメントからコミットを検索することができます。
$ git log --grep "[パターン]"
パターンに指定した文字がコミットログに含まれるコミットを探して、表示します。
更新日:2018年08月24日
作成日:2018年06月12日