1
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?

[個人用] Git Rebase(複数コミットをまとめる、順序を変更)

Last updated at Posted at 2025-06-07

概要

:pencil: 作業時に毎回検索 => 情報整理してたので、自分用に簡素に記事化

AIにほぼ作ってもらった記事なので、間違いがあるかもしれません。

ユースケース

rebase -i を使用します。

  • 複数のコミットを1つにまとめる
  • コミットメッセージを修正する
  • コミットの順序を変更する
  • 不要なコミットを削除する

基本的な手順

1. コマンド実行

git rebase -i HEAD~4
  • HEAD~4:現在から4つ前のコミットまでを対象にする
  • HEAD~~~~も同じ意味

2. エディタが開く

コミット一覧が表示されます:

pick 8145f1c Fix screen rotation problem  ← 最新から4番目
pick d90db4a v1.2.4                      ← 最新から3番目  
pick 646bf79 Fix screen rotation problem  ← 最新から2番目
pick 71a6940 v1.2.4                      ← 最新(HEAD)

重要: 表示順序は古い順(上が古く、下が新しい)

3. 編集方法

各行の先頭にあるpickを変更することで動作を指定:

コマンド 説明
pick (p) そのコミットをそのまま使用
squash (s) 前のコミットに統合(メッセージも統合)
fixup (f) 前のコミットに統合(メッセージは破棄)
reword (r) コミットメッセージのみ変更
edit (e) コミット内容を編集

ユースケース別の使い方

複数のコミットを1つにまとめる

pick 8145f1c Fix screen rotation problem  ← これは残す
s 646bf79 Fix screen rotation problem     ← これを上に統合
pick d90db4a v1.2.4                      ← これは残す  
s 71a6940 v1.2.4                         ← これを上に統合

統合後にメッセージ編集画面が開くので、重複を削除:

Fix screen rotation problem

コミットメッセージを修正する

pick 8145f1c Fix screen rotation problem
r d90db4a v1.2.4                         ← メッセージを修正
pick 646bf79 Fix screen rotation problem
pick 71a6940 v1.2.4

rewordでメッセージ編集画面が開きます。

コミットの順序を変更する

エディタ内で行の順序を変更するだけ:

pick d90db4a v1.2.4                      ← 2番目を1番目に移動
pick 8145f1c Fix screen rotation problem  ← 1番目を2番目に移動
pick 646bf79 Fix screen rotation problem
pick 71a6940 v1.2.4

Vim ショートカット

dd - 現在行を切り取り(削除してクリップボードに保存)
p - カーソル位置の下に貼り付け
P - カーソル位置の上に貼り付け

不要なコミットを削除する

該当する行を削除、またはコメントアウト:

pick 8145f1c Fix screen rotation problem
# pick d90db4a v1.2.4                    ← この行を削除またはコメントアウト
pick 646bf79 Fix screen rotation problem
pick 71a6940 v1.2.4

注意点

  1. 公開済みコミットは避ける: 他の人がpullしたコミットを編集すると問題が起きる可能性があります
  2. バックアップ: 重要な変更前は別ブランチを作成しておくと安全です
  3. 順序: エディタでの表示順序(古い→新しい)を理解しておく
1
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
1
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?