Gitでファイルの一部だけをコミットする

Xcode使ってると便利な「ファイルの一部分だけをコミット」、Terminalからも実現できます。

git add -p

と入力することで、一部分だけをコミットすることが可能になります。

簡単な操作方法

hまたは?と入力すれば、以下のようにヘルプが出てきます。

y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk or any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk or any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

特に頻繁に使うのは以下の操作。

  • y 現在表示している変更箇所をステージします。
  • n 現在表示している変更箇所をステージせず、次の変更箇所へ移動します。
  • s 現在表示している変更箇所をより細かい単位へと分割します。変更部分が連続していない場合に可能です。
  • ? ヘルプを表示します。

参考