0
0

git で特定のコミットにファイルを追加・修正する

Last updated at Posted at 2024-04-10

はじめに

git のコミット修正にいつも苦戦しているので、残しておきます。
可能な限りわかりやすく記載するつもりですが、不明瞭な点、追記した方がいい点などがございましたら、合わせてご教授ください。

この記事の目的

gitのコミットを積んだ後、「うわ、この修正もあのコミットに乗せたかった」という事態が私は頻繁に発生するので、その時のための積み方をメモしておきます。

状態

下記のような状態で、index.html.slim を再び修正したとします。
願望 0b89ee99b89da11ae0d2e03c0b1f18f51bafed7d のコミットに乗せたい。

$ git log
commit 47d2f082439c53f7c7e566a6d262cbed86d7fc39
Author: Me <mail_address>
Date:   Wed Apr 10 23:01:10 2024 +0900
 
    fix edit.html.slim
 
commit 0b89ee99b89da11ae0d2e03c0b1f18f51bafed7d
Author: Me <mail_address>
Date:   Wed Apr 10 23:00:20 2024 +0900
 
    fix index.html.slim
 
commit 046936fca80c70b2d43aae35c1bbda23f20ac5ed
Author: Me <mail_address>
Date:   Wed Apr 10 22:59:05 2024 +0900
 
    fix show.html.slim

対応

まず、修正した index.html.slim をステージして、混ぜたいコミットのIDを指定してコミットします。

$ git commit --fixup 0b89ee99b89da11ae0d2e03c0b1f18f51bafed7d 
[hogehoge 2addf9f32] fixup! fix index.html.slim
 1 file changed, 1 insertion(+), 1 deletion(-)

$ git log
commit 2addf9f32fed7f18bbacf9e4c3349b1c682c9dcc (HEAD -> hogehoge)
Author: Me <mail_address>
Date:   Wed Apr 10 23:16:40 2024 +0900
 
    fixup! fix index.html.slim

commit 47d2f082439c53f7c7e566a6d262cbed86d7fc39
Author: Me <mail_address>
Date:   Wed Apr 10 23:01:10 2024 +0900
 
    fix edit.html.slim
 
commit 0b89ee99b89da11ae0d2e03c0b1f18f51bafed7d
Author: Me <mail_address>
Date:   Wed Apr 10 23:00:20 2024 +0900
 
    fix index.html.slim
 
commit 046936fca80c70b2d43aae35c1bbda23f20ac5ed
Author: Me <mail_address>
Date:   Wed Apr 10 22:59:05 2024 +0900
 
    fix show.html.slim

次に、↑で指定したコミットIDの1つ前を指定して、下記のコマンドを叩きます。
fix show.html.slim のコミットIDです。

$ git rebase -i --autosquash 046936fca80c70b2d43aae35c1bbda23f20ac5ed

何かが開くので、:wq で閉じます。

そうすると、コミットIDが振り直され、fixup! も消えました。

$ git log
commit 3eb5332e505246a05784522b41b6d66681630c65
Author: Me <mail_address>
Date:   Wed Apr 10 23:01:10 2024 +0900
 
    fix edit.html.slim
 
commit 1473f188d3f9edd951c8310a083e0e86ca8bf1a3
Author: Me <mail_address>
Date:   Wed Apr 10 23:00:20 2024 +0900
 
    fix index.html.slim
 
commit 046936fca80c70b2d43aae35c1bbda23f20ac5ed
Author: Me <mail_address>
Date:   Wed Apr 10 22:59:05 2024 +0900
 
    fix show.html.slim
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