KEIS BLOGは株式会社ケイズ・ソフトウェアが運営しています。

KEIS BLOG

KEIS BLOG

Gitで既存のコミットを2つに分割する方法

はじめに

Gitはソフトウェア開発において不可欠なツールですが、時には過去のコミットを修正したくなるケースもあります。特に、1つの大きなコミットを複数の小さなコミットに分割したいというケースを解決する方法を今回はご紹介します。

シナリオ

あるコミット(例:8d496132fb8a69372a43a2277fc06b4d325c70e6)に複数の異なる変更が混在しており、それを2つの別々のコミットに分けたい!

手順

1. 対話的リベースの開始

git rebase -i master

2. コミットの選択

テキストエディタが開き、リベースするコミットの一覧が表示されます。対象のコミット(8d496132fb8a69372a43a2277fc06b4d325c70e6)を見つけて、その行の pickedit または e に書き換えます。

3. コミットの編集

git reset HEAD~

4. 新しいコミットの作成

次に、git add -p もしくは git add [ファイル名] コマンドを使って対話的にまたは明示的に変更をステージングします。これにより、複数のファイルの変更を個別にまたはまとめてステージングできます。

git add -p または git add [ファイル名]
git commit -m "First part of the changes"
git add . または git add [残りのファイル名]
git commit -m "Second part of the changes"

1つのファイルを分割してコミットしたい場合は git add -p コマンドを使って対話的に変更をステージングします。このコマンドは変更されたファイルの各ハンク(変更部分)を表示し、それを個別にステージングするかどうかを選ぶことができます。ファイルが別々なら git add [ファイル名] でOKですね。

5. リベースの続行

git rebase --continue

注意事項

この操作は歴史を改変するものですので、他の人と共有しているブランチに対して行う場合は注意が必要です。コンフリクトが発生した場合、解決する必要があります。

まとめ

以上が、Gitで既存のコミットを2つに分割する手順です。この技術はGitを更にパワフルに使うための一つの手法です。注意点を理解した上で、ぜひ活用してください。

エンジニア募集中!

採用情報はこちら

CATEGORY

技術情報

思考

便利サービス

社内イベント

採用担当の戦い

その他

メンバー

LATEST ENTRY

2026.07.08

見慣れないIPアドレスの正体を調べる4つの方法

技術情報

2026.07.08

「providerを固定したのになぜ直らない?」Terraform初心者がハマる落とし穴

技術情報

2026.07.08

【KEISのメンバー #1】入社2年目・若手エンジニアに聞く、未経験からの1年と「続けられるエンジニア」

メンバー

2026.06.21

{% partial %} 文法リファレンス ― 名前・属性・型解決・スコープの全仕様

技術情報

2026.06.21

Liquid に自作タグを足す ― partial タグで見る作り方

技術情報

TAG