gitの特定コミット間の差分ファイルを出力する機会がありました。
主なWindowsのgitクライアントにTortoiseGitやSourceTreeがあるかと思いますが、SourceTreeではこういった機能を提供していないようですね。
SourceTreeでなんとかできないかと、世の皆様の知恵をお借りして、私もSourceTreeのカスタム処理で対応いたしました。
ご紹介いたします。
なお、本記事で紹介するカスタム処理はWindows環境を対象にしており、Mac環境では実行できません。
予めご容赦くださいませ。
環境
- Windows7 Professional 64bit
- SourceTree 1.6.25.0
手順
- SourceTreeのメインメニュ-[ツール]-[オプション]を選択します。
→オプション画面が表示されます。 - オプション画面の[カスタム操作]を選択し、[追加]ボタンを押します。
→[カスタム操作を編集]画面が表示されます。 - [メニュー表示名]にお好きな名前、[実行するスクリプト]に[差分ファイル出力bat]を選択、そして[パラメータ]に"$SHA $REPO"を入力し、[OK]を押します。
→[カスタム操作を編集]画面が閉じます。 - 任意のコミットを2個選択し、右クリックします。 →コンテキストメニューが開きます。
- [カスタム操作] - [3.で入力したメニュー表示名]をクリックします。
→4.で選択したコミット間の差分ファイルがgitリポジトリと同階層のフォルダに[Release__]で出力されます。 ※本記事のgitリポジトリはC:\_sample\git
差分ファイル出力bat
参考
- http://k-holy.hatenablog.com/entry/2014/12/17/121503
- http://q.hatena.ne.jp/1401187029#a1230512
- http://www.atmarkit.co.jp/ait/articles/1506/26/news026.html
以上です。