🔖

【Git】git add の基本と --patch の使い方を解説

に公開

はじめに

Gitで作業をコミットする前に使う git add
実は git add には、基本的な使い方だけでなく、作業を効率化できる便利なオプションも用意されています。

本記事では、

  • git add の基本的な使い方
  • 差分を選んで追加できる --patch の活用法

について解説します。

1. git add の基本

git add を使うことで、変更内容を「ステージングエリア」に送ることができます。
このステージングエリアに入った変更だけが、git commit で履歴に残ります。

まずは基本的な使い方を確認しておきましょう。

git add ファイル名

これは「指定したファイルの変更内容をステージングエリアに追加する」コマンドです。

✅ よくある使い方

git add .          # カレントディレクトリ以下のすべての変更(新規・変更・削除)を追加
git add index.js   # 特定のファイルだけを追加
git add -A         # プロジェクト全体のすべての変更(新規・変更・削除)を追加

2. --patch オプションとは?

git add --patch(または -p)を使うと、差分(hunk)ごとに追加するかどうか選択できます
※ hunk とは「差分のかたまり」で、1つの変更ブロックのことを指します。

git add -p

実行すると、変更部分が1つずつ表示され、以下のような選択肢が出てきます。

Stage this hunk [y,n,q,a,d,e,?]?
入力 意味
y この差分をステージに追加
n この差分はスキップ(ステージしない)
q 処理を終了
a 以降のすべての差分を追加
d 以降のすべての差分をスキップする(追加しない)
e 手動で差分を編集(やや上級者向け)
? ヘルプを表示

✅ どんなときに便利か

  • 1ファイルで複数の修正をしてしまったとき
  • 意図しない変更を混ぜたくないとき
  • コミットを分けて履歴をわかりやすくしたいとき
git add -p main.py

とすれば、main.py の中でどの差分を含めるか選べます。

🔍 変更内容ごとに「追加する/しない」を選べるため、意図的にコミットを整理するのに役立ちます。

3. よくある注意点

  • git add -p は、変更を「1行ずつ」ではなく「hunk(まとまり)単位」で分けるのが基本です。
  • 「この行だけ入れたい」ができない場合は、e で手動編集、またはソースを分けて保存し直しましょう。

まとめ

やりたいこと コマンド例
すべての変更を追加したい git add .
特定のファイルだけ追加したい git add index.js
差分ごとに追加・選別したい git add -p

git add -p は、変更内容をひとつずつ確認しながら追加できるため、
初心者の方にとっても、ミスを減らすうえで非常に役立つコマンドです。

不要な変更までコミットしてしまう事態を避けるためにも、
内容を確認しながらコミットすることが、後々のトラブル防止にもつながります。

本記事が参考になれば幸いです。


🔗 関連記事

Discussion