Gitメモ: 変更の一部だけをコミットする (git add -p)

Git では、変更をファイル単位ではなく、ひとまとまりの変更**「ハンク (Hunk)」**の単位で認識するので、ファイルの一部分の変更だけをコミットすることができます。

ハンクごとにコミットする対象を指定(ステージング)したい場合は、git add-p オプションを付けて実行し、パッチモードという対話モードを起動します。

$ git add -p Hoge.txt

すると、変更部分ごとに diff が順番に表示されるので、実際にそのハンクをステージするかを y/n で選んでいきます。 選択し終わったら、あとは通常通りコミットするだけです。

$ git commit -m "Your comment"

ファイルの一部だけステージされている状況で git status コマンドを実行すると、そのファイルは "Changes to be committed" にも属しているし、"Changed but not updated" にも属しているというように表示されます。