0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Sourcetree】差分ファイルを抽出する(Windows)

Posted at

自分用のメモ。
Sourcetreeのカスタム操作で指定した差分をzipで抽出する方法。

1. Gitをインストールする

コマンドプロンプトでGitがインストールされているかを確認する。

git --version

インストールされていなければ、Gitをインストールする。
https://git-scm.com/

2. batファイルを作る

テキストエディタで以下のbatファイルを作る。

git_sabun_chushutu.bat

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 --diff-filter=ACMR %PARAM2% %PARAM1%`) do (
  set RET_DIR=!RET_DIR! "%%i"
)
set time=%time: =0%
set TODAY=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

git archive --format=zip --prefix=archive/ %PARAM1% %RET_DIR% -o archive_%TODAY%.zip

3. Sourcetreeのカスタム操作に登録する

  1. Sourcetreeのメニューバーから「ツール」>「オプション」>「カスタム操作」>「追加」
  2. カスタム操作を編集ウィンドウで、下記の内容で登録する

【メニュー表示名】好きな名前(「指定の差分をZIPにする」など
【実行するスクリプト】上記で作ったbatファイル
【パラメータ】$SHA

4. カスタム操作で差分抽出する

  1. Sourcetreeの画面で、差分を取りたい2つのコミットを選択する
    (1つ目を左クリックし、Ctrl押しながら2つ目を左クリック)
  2. 右クリックを押して、「カスタム操作」>「指定の差分をZIPにする」(上記で自分がつけた名前)を選ぶ

差分がZIPに書き出される。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?