たとえば納品ベースな仕事を受けたとき。
Github のプライベートリポジトリつくってもらって push することで納品できるのであればそんなに困らない。
だってそれで OK ならきっとクライアント側にエンジニアがいる/担当者自体が git つかえるのだもの。
2015年現在となっても、そうはいかないケースもあるので納品物の管理という作業はちょくちょく発生してしまう悲しさ。
クライアントから戻し対応一切受け付けず、一度提出したら即終了なお仕事なら困らないかもしれないけれど、そんな事案は遭遇したことがない。
以下、A: 依頼者、B: 作業者 としてながめてください。
- A: ここ直して
- B: はい、なおしました
- A: ここも直して欲しい
- B: あい
- A: あ、3つ前にもらったあそこのデザイン復活させたい
- B: 3つ前のってどれだ…これかな…これであってます?
- A: ちげーよそれじゃねーしおまえくそだななにいってんのまじくそが
- B: (FXXK)
というやりとりが発生するかもしれないなーって想像するだけでめんどくさい。あーめんどくさい。
こんなところで不毛なやり直し作業を発生させたくないからバージョン番号を振って、共通の言葉として使えると解消できそうなのだけれど、今度は手動でバージョン管理するのめんどくさいという問題がでてくる。
npm とか composer とか bower とか、プロジェクトディレクトリに依存パッケージ落としてくるやつらは提出用の zip から消したいしね。消したあとにインストールしなおすとかめんどくさい。
そんなあなたにおすすめなのが release-it。
npm からさくっとインストールできて Github 上のリポジトリを release-it してくれる。
具体的にはこんな感じ
// インストール
npm install release-it -g
cd PATH/TO/PROJECT
release-it
これだけ。これだけで Github の releases に新しいバージョン番号でタグ切ってくれる。
つまりそれは zip ファイルをダウンロード可能な状態になっているので渡すだけ。
README.md を読むと
elease-it minor
release-it 0.8.3
release-it 2.0.0-rc.3
こんなこともできてしまうっぽいのでメジャーバージョン変えたりするのも楽ちん。
zip を渡す前にリリースについての差分を下の画像みたいな感じで書いておくとか、タイトルちゃんと書くとか、コミットログコピペしておくとか、Slack なり Chatwork 経由の指示コピペしておくと後から探しやすいのでは。
ツール使えるところはどんどん使って不幸の数を減らしましょう。