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