いいとこすぎて移住しちゃいました / LAMP壱岐
いいとこすぎて移住しちゃいました / LAMP壱岐
2015.07.14

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

  • 1
  • 2