Git では、変更をファイル単位ではなく、ひとまとまりの変更「ハンク (Hunk)」の単位で認識するので、ファイルの一部分の変更だけをコミットすることができます。
ハンクごとにコミットする対象を指定(ステージング)したい場合は、git add
に -p
オプションを付けて実行し、パッチモードという対話モードを起動します。
$ git add -p Hoge.txt
すると、変更部分ごとに diff
が順番に表示されるので、実際にそのハンクをステージするかを y/n
で選んでいきます。
選択し終わったら、あとは通常通りコミットするだけです。
$ git commit -m "Your comment"
ファイルの一部だけステージされている状況で git status
コマンドを実行すると、そのファイルは “Changes to be committed” にも属しているし、“Chaned but not updated” にも属しているというように表示されます。