Gitで自分のブランチとリモートブランチの差分ファイルだけを抽出してzipに纏める

light-bulb

目次

自分が作成した成果物だけを纏めたい時に便利

比較元のブランチをチェックアウトした状態で以下の コマンドを実行します。

git archive HEAD `git diff --name-only 比較先のブランチ名 HEAD --diff-filter=ACMR` -o 比較先のブランチ名 -o ファイルの出力先;

gitconfigにaliasを追加しておくとさらに便利

~.gitconfig

[alias]
# 指定したブランチ間で差分があるファイルをZIPで出力する
archive-branch = "!f() { git archive HEAD `git diff --name-only $1 HEAD --diff-filter=ACMR` -o $2/`date '+%Y%m%d%H%M'`.zip ;}; f"

# 指定したタグ間で差分があるファイルをZIPで出力する
archive-tag = "!f() { git archive $2 `git diff --name-only $1 $2 --diff-filter=ACMR` -o $3/`date '+%Y%m%d%H%M'`.zip ;}; f"

リモートのmasterブランチとの差分があるファイルだけをカレントディレクトリにzipで出力する場合

git archive-branch origin/master ./

タグAとタグBの差分があるファイルだけをカレントディレクトリにzipで出力する場合

git archive-tag tag1 tag2 ./

コメントを残す

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。