0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Git】パッチファイルの作成と適用方法まとめ【複数ファイル対応・チーム共有にも便利】

Posted at

Git を使っていると、特定の差分だけを他人に渡したり、別のブランチやプロジェクトに適用したくなる場面があります。
そのときに便利なのが git diff + git apply を使ったパッチファイルの活用です。


🔧 パッチファイルとは?

Git で生成した 差分ファイル(diff).patch.diff として保存したものです。
このファイルを別の環境で適用することで、変更をそっくりそのまま再現できます。

✅ パッチファイルの作成方法

1. ステージされていない差分を出力する

git diff > feature.patch

git add されていないワークツリー上の変更が含まれます。

2. ステージ済みの変更を出力する

git diff --cached > feature.patch

3. 特定のコミットをパッチにする(1つだけ)

git format-patch -1 <コミットハッシュ>

✅ パッチファイルの適用方法

1. git apply でパッチを適用する

git apply feature.patch

デフォルトでは 作業ツリーに変更を加えるだけで、コミットはされません。

2. パッチ適用前にテスト(dry-run)

git apply --check feature.patch

3. patch コマンドでも適用可能

patch -p1 < feature.patch

🎯 よく使うオプション

コマンド 説明
git diff --name-only 差分ファイル名だけ一覧
git diff HEAD HEADとの差分
git apply --reject 適用できなかった部分を .rej に保存
git apply --3way コンフリクト時に3-wayマージを試みる

💡 チームでの使い方例

  • レビュー中の差分だけを送る(本体に影響させたくないとき)
  • 本番環境に一部だけ適用したい
  • ネットワークが不安定な環境で差分だけ手渡す
  • 大規模リポジトリでcloneせず差分だけ受け取る

⚠️ 注意点

  • .patch を適用する先に 同じファイル・行が存在しないとエラーになります。
  • パッチ作成元と適用先でディレクトリ構造が大きく違うと適用に失敗します。

📝 まとめ

操作 コマンド
差分出力(未ステージ) git diff > xxx.patch
差分出力(ステージ済) git diff --cached > xxx.patch
適用 git apply xxx.patch
テスト適用 git apply --check xxx.patch

パッチは 手軽かつ強力な共有手段です。チーム開発で柔軟に使いこなしましょう!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?