Git管理ツール「SourceTree」で差分ファイルを抜き出す方法

Git管理ツール「SourceTree」で差分ファイルを抜き出す方法

はやち

はやち

どうもです、お久しぶりです、はやちです✌(´ʘ‿ʘ`)✌

ここ最近DMMのブラウザゲーム「刀剣乱舞」にハマってしまいましてひたすら刀狩りをしております( ˇωˇ )<おじいちゃんこない
そんなことはどうでもいいですね。

今回は、Git管理ツール「SourceTree」を使用して昔のファイルと作業したファイルの差分を抜き出す方法をご紹介いたします( ˘ω˘)☝

バッチファイルを用意する

まずはバッチファイルを用意しましょう( ˇωˇ)☝
適当なディレクトリにファイルを保存します。

Windows用

Windows用がこちらです。

export_diff_zip.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 %PARAM1% %PARAM2%`) do (
  set RET_DIR=!RET_DIR! "%%i"
)

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

Mac用

Mac用はこちらです。

export_diff_zip.sh

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の場合、ファイル制作しただけだとファイルが適応されないので、ターミナルを開いて制作したディレクトリーを指定し、下記のコマンドを叩いて適応させます。
お忘れのないようお気をつけくださいまし( ˇωˇ)☝

chmod +x export_diff_zip.sh

黒い画面こわい(`⊙ω⊙´)カッ!!ってひとは、こちらのサイトからDLすればすぐできるので下記のものをおすすめします( ˇωˇ)☝

参考:Git初心者でも差分ファイルを一瞬で取り出すMac用SourceTreeスクリプト
https://www.eyemovic.com/blog_it/4747.php

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

はやち
はやち フロントエンドエンジニア / 林 佳代子

フロントエンドエンジニアのはやちです( ˘ω˘)☝ 以前までは顔隠しておりましたが思い切ることにしました…。 相変わらず顔文字乱舞ですがブログもコーディングも楽しくやっていこうと思います✌(´ʘ‿ʘ`)✌ 今までに作ったDemoたちはGithubにて公開しております!よろしければ是非( ˘ω˘)☞三☞シュッシュッ

このメンバーの記事をもっと読む