ガジェット通信

見たことのないものを見に行こう

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

DATE:
  • ガジェット通信を≫

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

ここ最近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

バッチファイルを登録する

用意したファイルをSourceTreeに登録しましょう( ˇωˇ)☝

Macの方

メニューから「SourceTree」→「環境設定」→「カスタムアクション」→「追加」を押します( ˇωˇ)☝

Windowsの方

メニューから「ツール」→「オプション」→「カスタム操作」→「追加」を押します( ˇωˇ)☝


ここで先ほどのファイルを読み込みカスタムアクションとして登録をします( ˇωˇ)☝

任意のアクション名を入れます、今回「差分ダウンロード」で登録します。
先ほど作ったファイルを読み込みます。
ファイルに実行する引数を入力します。


このように出ましたら準備は完了になります( ˇωˇ)☝

差分ファイルを作ってみよう

準備が整ったので差分ファイルを作ってみましょう( ˇωˇ)☝

作業して、差分を取りたいコミットを選択します( ˇωˇ)☝

 

右クリックから「カスタムオプション」→「差分ダウンロード」で先ほど登録したカスタムオプションを起動します( ˇωˇ)☝

 

archive.zipというファイルが生成されましたら成功です。
しゅごい(`⊙ω⊙´)カッ!!

まとめ

いかがでしたでしょうか、何度か先方にファイル納品する際でも、Gitなら間違いないので安心ですね( ˇωˇ)☝
Windowsの方もばっちりです、今回以下の記事を参考にさせていただきました。

参考にした記事

SourceTreeでコミット間の差分ファイルを抽出しよう (カスタム操作を使う方法)
http://ics-web.jp/lab/archives/4475

カテゴリー : 生活・趣味 タグ :
LIGの記事一覧をみる ▶
  • 誤字を発見した方はこちらからご連絡ください。
  • ガジェット通信編集部への情報提供はこちらから
  • 記事内の筆者見解は明示のない限りガジェット通信を代表するものではありません。

TOP