poyopoyo0のブログ

poyopoyoのブログ

Web 関連のメモ書きブログです。

GitHub に投稿した commit message を修正するには

GitHub に投稿した commit message を修正するのにえらいこと手間取ったので、忘れないように覚え書き。

参考記事:yuzu441.hateblo.jp

1. まず始めに

$ git log --oneline

で過去の commit をterminal に表示させて、修正対象の commit を見つける。

2. 直前の commit の commit message を修正したい際には

$ git rebase -i head~1

と打ち込むと vi エディタが立ち上がる。

3. 立ち上がった画面で pick となっているところを reword と修正して保存(※ この画面で commit message も変更してしまうと、リビジョン番号自体が変わってしまうので、要注意。この画面で修正するのは pick だけ!! )。

4. 次にようやく commit message の修正画面が立ち上がるので、そこで commit message を書き換えて保存すると、commit message の修正が完了する。

5. これだけだとローカルの commit message が修正されただけなので、これを GitHub に反映させるには

$ git push -f origin ブランチ名

のように強制 push してやればいい。

【補足】
ちなみに、 $ git reset head~○○ と打ち込むと、最新の commit から○○番目の commit を無かったことにできるので、便利。もし○○の数字を間違って入力してしまった際には、

$ git reflog

と入力すると、 $ git reset も含めた履歴が表示されるので、

$ git reset --hard HEAD@{1}

としてやると、 $ git reset を取り消せる。

参考記事: Git/git reflog (git resetを取り消す) - yanor.net/wiki

追記:

$ git reset --hard ORIG_HEAD

でも、上と同じ操作ができるとのこと。

参考記事: www.backlog.jp

git はお役立ちコマンドがいっぱいありそうだけど、あり過ぎて混乱気味…。