LoginSignup
0
0

More than 1 year has passed since last update.

Git コミットをまとめる

Posted at

目的

  • HEADからのコミットの個数を指定して複数のコミットを一つにまとめる方法を記載する

方法

  1. 下記コマンドを実行する。

    $ git rebase -i HEAD~HEADからのまとめるコミット数
    
  2. エディタが開いたらまとめ元になりたいコミットを「pick」、「pick」コミットにまとめられたいコミットを「squash」と記載する。

具体例

  1. $ git logコマンドを実行したときに下記の出力がなされている時のHEADのコミットとその一つ前のコミットをまとめる方法を下記に記載する。コミットIDが「70044e」のコミットをまとめ元とし、コミットIDが「b0bc13」のコミットをまとめたい。

    [21:33:48]MacBook-Pro~/test/git_test$ git log
    commit b0bc1348910b0c4b9994c83466ab7288746d4414 (HEAD -> master)
    Author: 大川峻 <okawashun@MacBook-Pro.local>
    Date:   Wed May 5 21:14:15 2021 +0900
    
        テスト記載 1を追記
    
    commit 70044e6aa0856b3eca659e381c40a434668f8582
    Author: 大川峻 <okawashun@MacBook-Pro.local>
    Date:   Wed May 5 21:13:03 2021 +0900
    
        テスト用ファイルを追加
    
    commit bfac6cdc0e30e4c4badb9830d4644518d0d0406a
    Author: 大川峻 <okawashun@MacBook-Pro.local>
    Date:   Wed May 5 21:12:49 2021 +0900
    
        first commit
    
  2. 当該リポジトリで下記コマンドを実行する。

    $ git rebase -i HEAD~2
    
  3. 開いたエディタで下記のように記載する。

    Untitled-2.png

  4. 一つ前のエディタで保存すると下記のエディタが開く。特に編集などせずに保存する。

    Untitled-2-2.png

  5. $ git logを実行したところ下記のように表示され無事にコミットがまとめられた。(まとめたコミットのコミットの時間はまとめ元のコミット時間が適応されるようだ)

    [21:33:48]MacBook-Pro~/test/git_test$ git log
    commit 0b334d2c1ca24e1a2af3484b15a32f0c37d8f547 (HEAD -> master)
    Author: 大川峻 <okawashun@MacBook-Pro.local>
    Date:   Wed May 5 21:13:03 2021 +0900
    
        テスト用ファイルを追加
    
        テスト記載 1を追記
    
    commit bfac6cdc0e30e4c4badb9830d4644518d0d0406a
    Author: 大川峻 <okawashun@MacBook-Pro.local>
    Date:   Wed May 5 21:12:49 2021 +0900
    
        first commit
    
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