書籍「入門 git」を読んでいて第 4 章にコミットする 3 通りの方法について説明がありました。
- git add でステージングしてから git commit する
- git commit に -a オプションをつける
- git commit に ファイル名を指定する
add してから commit
$ git add Good.py
$ git commit -m "Add print func"
どういう形かで git add して、それから commit するやり方です。git add は -i オプションで対話モード、 -p でパッチモードが利用できるようです。
commit に -a オプション
$ git commit -a -m "Add fuga"
こうすると現在の作業ツリーの最新の状態をまるごとコミットすることになるようです。
commit にファイル名を指定
$ git commit -m "Add piyo" Good.py
こうすると現在の作業ツリーの中からコミットしたファイルだけを指定することができ、他のファイルはコミットされません。
最初に読んだときは -a かファイル名指定だけでよいのではと一瞬思ったのですが、add してから commit の利点として hunk(ファイル内の変更箇所)ごとのコミット要否を選択できることや、add したあとにファイルをさらに編集していたとしても git commit したときにコミットされるのは add した時点までの変更に限定されるという点があるのですね。ふむふむ。