0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

待って、このコミット、修正したい

0
Last updated at Posted at 2025-10-13

という状況になった時にどうすればいいか毎回ググるのが面倒なので、まとめてみます。

環境

Mac M4 Pro
Sequoia 15.3.1

$ git --version
git version 2.51.0

コミットメッセージの修正

直前のコミットメッセージを修正したい

まだpushしていない場合

amendでコミットし直す

git commit --amend -m "修正後のコミットメッセージ"

push済みの場合

amendでコミットし直し、force pushする

git commit --amend -m "修正後のコミットメッセージ"
git push -f origin <branch name>

もっと前のコミットメッセージを修正したい

まだpushしていない場合

  1. 直近nコミットの一覧を表示する

    git rebase -i HEAD~n
    

    vim画面で以下のようなリストが表示される

    pick e499d89 Delete CNAME
    pick 0c39034 Better README
    pick f7fde4a Change the commit message but push the same commit.
    
    # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
    # 以下略
    
  2. 変更したいコミットメッセージの前についているpickrewordに置換して、保存して閉じる(:wq

    pick e499d89 Delete CNAME
    reword 0c39034 Better README
    pick f7fde4a Change the commit message but push the same commit.
    
    # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
    # 以下略
    
  3. rewordをつけたコミットファイルがvim画面で表示される。新しいコミットメッセージを入力し、保存して閉じる(:wq

push済みの場合

  1. 上記 まだpushしていない場合 に従ってコミットメッセージを修正する
  2. force pushする
    git push -f origin <branch name>
    

コミット内容の追加

直前のコミット内容に追加したい

まだpushしていない場合

追加したい変更ファイルをaddし、amendでコミットする

git add <file name>
git commit -a --amend

# (vim画面でコミットファイルが表示される。そのまま保存して閉じる。:wq)

push済みの場合

  1. 上記 まだpushしていない場合 に従って追加したい変更ファイルをコミットする
  2. force pushする
    git push -f origin <branch name>
    

もっと前のコミット内容に追加したい

まだpushしていない場合

  1. 修正物を一旦退避させる

    git stash save
    
  2. 直近nコミットの一覧を表示する

    git rebase -i HEAD~n
    

    vim画面で以下のようなリストが表示される

    pick e499d89 Delete CNAME
    pick 0c39034 Better README
    pick f7fde4a Change the commit message but push the same commit.
    
    # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
    # 以下略
    
  3. 追加したいコミットの前についているpickeditに置換して、保存して閉じる(:wq

    pick e499d89 Delete CNAME
    edit 0c39034 Better README
    pick f7fde4a Change the commit message but push the same commit.
    
    # Rebase 9fdb3bd..f7fde4a onto 9fdb3bd
    # 以下略
    
  4. stashしておいた修正物を持ってくる

    git stash pop
    
  5. amendでコミット

    git commit -a --amend
    
    # (vim画面でコミットファイルが表示される。そのまま保存して閉じる。:wq)
    
  6. コミットを反映

    git rebase --continue
    

push済みの場合

  1. 上記 まだpushしていない場合 に従って追加したい変更ファイルをコミットする
  2. force pushする
    git push -f origin <branch name>
    

ちなみに:vim操作

ノーマルモードとインサートモードがある
開くとノーマルモードになっている

  • インサートモードに入る:i
  • ノーマルモードに戻る:control+C
  • 文字を消す:ノーマルモードで消したい文字の上にカーソルを持ってきて、xを押す
  • 文字を入力する:インサートモードで入力したい部分にカーソルを持ってきて入力
  • :wq:保存して閉じる
  • :q!:保存せずに閉じる

References

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?