新しく追加したファイルや、更新したファイルだけをまとめて渡したいときはありませんか?
すべてのファイルを送るのは容量が大きくなってしまいますし、手間もかかりますよね。
そんなときは、Gitのコマンドを使うことで、コミット間の差分ファイルだけを自動で抜き出し、ZIPファイルにまとめることができます。
こんな場面で便利です
- チームメンバーに「この変更分だけ送ってほしい」と頼まれたとき
- サーバーに差分だけアップロードしたいとき
- バックアップやレビュー用に、変更ファイルだけをまとめたいとき
手順
1. コマンド一つで差分ファイルをZIP化できます
以下のコマンドを使用します。
コマンドの解説
$ git archive --prefix=archive/ <ブランチ名> `git diff --name-only <前のコミット> <後のコミット> --diff-filter=d` -o archive.zip
git diff --name-only <前のコミット> <後のコミット> --diff-filter=d
追加・更新されたファイル名だけをリストアップします(削除されたファイルは除外されます)。git archive --prefix=archive/ <ブランチ名> ... -o archive.zip
指定したファイルだけを、archive/
フォルダにまとめてZIP化します。
2. 具体例
例えば、abc1234
から def5678
までの差分を抜き出したい場合は、次のように入力します。
$ git archive --prefix=archive/ main `git diff --name-only abc1234 def5678 --diff-filter=d` -o archive.zip<br>
main
はブランチ名です。必要に応じて変更してください。archive.zip
という名前でZIPファイルが作成されます。
まとめ
この方法を使うことで、余計なファイルを含めず、必要な差分だけを簡単にまとめて渡すことができます。
「すべて送るにはデータ量が多過ぎ!」と感じたときは、ぜひこの方法をお試しください。