初投稿です.
n番煎じネタですけど,gitやshellを勉強中なので,個人的なメモとして残しておきます.
環境はWindowsを想定しています.
git bashでは2つのブランチ間の差分ファイルをリストアップするgit diff
コマンドと,ファイルリストをzipに固めてくれるgit archive
コマンドがあります.
それらを組み合わせつつ,タイトルが日付のzipになるようにして,ついでにそれを~/.bashrc
で関数化して,簡単に呼び出せるようにします.
C:/Users/<ログオンユーザー>/
に.bashrc
ファイルを作り,以下を書き込みます.
~/.bashrc
function gitexport() {
#引数チェック
if [ -z "$1" -o -z "$2" ]
then
return
fi
COMMIT1=$1
COMMIT2=$2
#日付を取る
NOWDATE=`date +%Y%m%d`
#コミット間の差分リスト
EXPORTFILES=`git diff --name-only --diff-filter=d $COMMIT1 $COMMIT2`
#zipにする
git archive $COMMIT1 --format=zip -o $NOWDATE.zip --prefix=$NOWDATE/ $EXPORTFILES
}
実行するにはgit bashで次のように指示します.
$ gitexport V1.0.0 V0.9.0
gitexport <新しいほうのコミット名> <古いほうのコミット名>