© 2025 JWS

gitで差分納品ファイル作成

  • Git

差分の納品ファイルを作ってと言われたときに細々とコピペするとミスも出てきてしまうので、git を使って差分納品ファイルを作るといいですよって話です。

まず初めに

powershell と git bash ではコマンド置換が異なるようで、参考サイトにあるバッククォートを利用したコマンド置換はエラーを吐きます。

powershell で実行する場合は「$()」を使ってコマンド置換を行います。

参考

[https://webmanab-html.com/tip/extract-diff-file/](https://webmanab-html.com/tip/extract-diff-file/)

まずはcommitのIDを取得

コマンドは、以下の通り

git log --oneline

ここで、取得した ID(数字)を利用して差分をとります。

以下のようなものが出ます。一番下が初回のコミットになります。

5908150 (HEAD -> master) dist
504c3af initial

差分ファイルの出力

先ほど取得した commitのIDをもとに

  • to_commitIDには、変更後の ID
    • 今回の場合は、5908150
  • from_commitIDには、変更前の ID
    • 今回の場合は、504c3af

を入力します。

コマンドは以下の通り。

powershell 用

git archive [to_commitID] $(git diff --name-only [from_commitID] [to_commitID] --diff-filter=ACMR) -o diff.zip

git bash 用

git archive [to_commitID] git diff --name-only [from_commitID] [to_commitID] --diff-filter=ACMR -o diff.zip

完成

diff.zipというファイルができていたら成功です。

その他の差分出力などやりたい方は調べるといろいろ出てきます。

powershell でもできるので vscode 上で完結できそうです。

Share