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

Title

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

Date

2018-11-24

Tags

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

まず初めに

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

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

参考

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 上で完結できそうです。

制作パートナー(外注)をお探しの制作会社様・広告代理店様

お気軽にお問い合わせください。