このサイトは学部では早稲田で物理を, 修士では東大で数学を専攻し, 今も非アカデミックの立場で数学や物理と向き合っている一市民の奮闘の記録です. 運営者情報および運営理念についてはこちらをご覧ください.
中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては自然を再現しようや役に立つ中高数学 中高数学お散歩コース
大学数学に関しては現代数学観光ツアーなどの無料の通信講座があります.
その他にも無料の通信講座はこちらのページにまとまっています.
ご興味のある方はぜひお気軽にご登録ください!
目次
結論: git archive をよしなに使う
結論から言えばSourceTreeの使い方 | コミット間の差分ファイルの抽出 (カスタム操作を使う方法)の記述通りにやればいい. この記事では特に SourceTree を使っている. Linux だと直接的には使えないけれども, Linux を使っているくらいの強い人なら直接 git patch で対応するだろうから対象外とする. そもそも本質的には git archive を使う話でしかなく, 下記の Mac 版のスクリプト (にあるコマンド) を使えばいい.
時々ウェブ上で昔の, 特にお気に入りの記事が消えて悲しい思いをすることも多いので, 必要な範囲で転記する.
バッチファイル作成
Windows では次の通り.
if "%2" EQU "" (
set PARAM1=HEAD
set PARAM2=%1
) else (
set PARAM1=%1
set PARAM2=%2
)
setlocal enabledelayedexpansion
set RET_DIR=
for /F "usebackq" %%i in (`git diff --name-only %PARAM1% %PARAM2%`) do (
set RET_DIR=!RET_DIR! "%%i"
)
git archive --format=zip --prefix=archive/ %PARAM1% %RET_DIR% -o archive.zip
私個人としてはもう Mac は使っていないが, コマンドとして見やすいので置いておく.
#!/bin/sh
if [ "$2" = "" ]; then
git archive --format=zip --prefix=archive/ HEAD `git diff --name-only HEAD $1` -o archive.zip
else
git archive --format=zip --prefix=archive/ $1 `git diff --name-only $1 $2` -o archive.zip
fi
これを直接実行すれば Linux でも手法そのものは使える.
バッチファイルをカスタム操作として SourceTree へ登録
- Win: メニューから「ツール」→「オプション」→「カスタム操作」タブ→「追加」ボタンをクリック
- Mac: メニューから「SourceTree」→「環境設定」→「カスタムアクション」タブ→「追加」ボタンをクリック
「カスタム操作を編集」ウィンドウでの設定
- メニュー表示名: 適当に設定 (ここでは「差分書き出し」とする)
- 実行するスクリプト: 先程作ったスクリプトを指定
- パラメーター:
$SHA
を設定
実行
- 2 つコミットを選ぶ
- 右クリックする
- 「カスタム操作」から「差分書き出し」をクリック
- リポジトリのトップディレクトリから zip を取ってくる
中高の数学の復習から専門的な数学・物理までいろいろな情報を発信しています.
中高数学に関しては自然を再現しようや役に立つ中高数学 中高数学お散歩コース
大学数学に関しては現代数学観光ツアーなどの無料の通信講座があります.
その他にも無料の通信講座はこちらのページにまとまっています.
ご興味のある方はぜひお気軽にご登録ください!
この記事へのコメントはありません。