*

SourceTreeで差分ファイルを抽出

公開日: : Git, SourceTree

GitのクライアントでSourceTreeを利用する時、コミットの差分ファアイルをZIPファイルとして抽出する方法をご紹介致します。追加開発で差分ファイルのみを納品する時などで便利です。

動作環境

  • OS:Windows 10 Home
  • Git:version 2.8.3.windows.1
  • SourceTree:Version 1.9.5.0

概要

「git diff」コマンドを利用して、差分ファイル名を取得し、差分ファイルをアカイブするWindowsのBatchファイルを作成します。SourceTreeでは、カスタマイズ操作で作成したBatchファイルを登録します。
コミット間の差分ファイルを抽出するためには、SourceTreeでコミットを選択し、カスタマイズ操作を実行します。

Batchファイルの作成

以下の内容のBatchファイルを作成し、適切な場所に配置します。
例では「C:\dev\sourcetree_script\ export_diff_zip.bat」に配置しました。

指定された2つのコミットの差分ファイル名のリストを取得し、そのファイルをアカイブします。
差分ファイル名に空白が入力されていても問題無いですが、「,」が入力されている場合は、正常に差分ファイル名を取得できませんのでご注意下さい。

if "%2" EQU "" (
 set PARAM1=HEAD
 set PARAM2=%1
) else (
 set PARAM1=%1
 set PARAM2=%2
)
 
setlocal enabledelayedexpansion
set RET_DIR=
for /F "delims=, usebackq" %%i in (`git diff --name-only %PARAM1% %PARAM2%`) do (
 set RET_DIR=!RET_DIR! "%%i"
)

set dt2=%date:~0,10%
set dt2=%dt2:/=%
set dt2=%dt2: =0%

set tm2=%time:~0,8%
set tm2=%tm2::=%
set tm2=%tm2: =0%

set fname2=archive_%dt2%_%tm2%.zip

git archive --format=zip --prefix=archive/ %PARAM1% %RET_DIR% -o %fname2%

SourceTreeにBatchファイルを登録

SourceTreeを起動して、「メニュー>ツール>オプション」を選択します。

SourceTree-diff_01

オプション画面が表示されたら「カスタム操作」タブを選択し、「追加」ボタンを押します。

SourceTree-diff_02

カスタム操作の編集画面が表示されたら、以下の内容を設定し、「OK」を押します。

  • メニュー表示名:任意
  • 実行するスクリプト:作成したBatchファイルを選択します。
  • パラメータ:$SHA

SourceTree-diff_03

カスタム操作が追加されたことを確認して「OK」ボタンを押します。

SourceTree-diff_04

コミット間の差分ファイルを抽出

SourceTreeを起動して、ブランチを表示します。
開発の開始する直前のコミットと開発最終のコミットを選択します。Ctrlキーを押しながら選択すると複数選択ができます。

選択された状態で、マウスの右ボタンをクリックし、メニューを表示させます。表示されたメニューで「カスタム操作>カスタム操作の編集画面で入力したメニュー表示名」を選択します。

レポジトリのルートフォルダに「archive_日付_時刻.zip」のファイルが配置されていることを確認します。配置されたファイルが差分ファイルとなります。

SourceTree-diff_05

参考サイト

お問い合わせはこちら!

関連記事

gitインストールし、レポジトリ作成後にeclipseでSSH接続する

photo credit: atduskgreg via photopin cc 今回はg

記事を読む

Gitリモートリポジトリのサーバー移行が結構簡単だったので手順まとめ

昔からファイルの履歴管理はファイルをコピーして、ファイル名に日付をつけて頑張ってましたOsa

記事を読む

Git フォルダ、ファイル単位で変更の取消

Gitでバージョン管理をしながらEclipseで開発を行う時、編集した部分を取り消したい時が有ります

記事を読む

git tagで過去と現在のソースの差分をzipにまとめる

本番環境にソースコードを適用するときに、前回適用したバージョンから現バージョンまでの適用をす

記事を読む

お問い合わせはこちら!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

お問い合わせはこちら!

Laravel 5.1の自動ログインのお試し!

セッションの保持時間を1分にする 単位:分 デフォルト

SourceTreeで差分ファイルを抽出

GitのクライアントでSourceTreeを利用する時、コミットの差分

第104回 PHP勉強会に参加しました!

昨日「第104回 PHP勉強会@東京」に参加し、メイン発表をしました。

Windows10にLaravel開発環境を構築

本記事は筆者のノートパソコンにLaravelプロジェクトの開発環境を構

複数のXAMPPインストール

Windows環境でPHP開発をする際にXAMPPをインストールするこ

→もっと見る

  • AWS構築 - クラウドアドバイザー
PAGE TOP ↑