みなさんはファイルの差分抽出をどのように行なっているでしょうか。
git archive
のコマンドで抽出できるものの、どの順番でオプション入れたりするのか分からなくなる。
SourcetreeやForkでショートカットに登録するも、ちょっとだけオプションの内容変えたい時に面倒。
サーバー権限がなくオートデプロイ設定をすることもできず目視でちまちまとファイルアップしたり、一度納品した後にちょっとした修正が発生し差分納品で何度も納品ファイルをつくらなければいけない。
そんなプチストレスに悩まされていませんか?
私はこちらのツールに出会ってから、そんなストレスから解放されたと感じています。
自分だけでなく同じ境遇の人に届けてくれた想いに感謝。
git-diff-archive
何がいいって、使い方が簡単なのに有能です。
使い方
インストール
npm install git-diff-archive -g
実行
差分を抽出したいプロジェクトのルートディレクトリに移動してコマンドを実行します。
cd /your/project/dir
gda HEAD HEAD~1
こちらのコマンドは一つ前のコミットとの差分を抽出する形。抽出した差分ファイルは、実行したディレクトリにzipファイルとして生成されます。
gda HEAD HEAD~3
のように、コマンドの最後の数字を変えれば、その分前のコミットとの差分を抽出することができます。
オプションもあり、指定したコミット同士の差分を抽出したり、生成されたzipファイルの名前も変更でき、かゆいところにも手が届きます。
コマンド内にはこのようにログも出力してくれるので、納品のファイルリストが必要なときにも活用できますね。
私はClipyのスニペットにgda HEAD HEAD~1
だけ登録して、必要に応じて数字を変えるだけで大体のことが済んでます。
ちなみにClipyも私にとってなくてはならない必須ツール。
https://github.com/Clipy/Clipy
これで差分抽出に関するプチストレスから解放されました。
さまざまな便利ツールをつくって世に提供してくれる方々に頭の上がらない日々でございます。
これからも是非便利ツールを提供してください!(他力本願)
参考