handlename's blog

コード片など

get-git-ignore というツールを書いた

  • go 1.3.1

なにか書き始めるとき、小さいものでもとりあえず git で管理するようにしている。 で、ちょっと大きくなると .gitignore ファイルを置く必要が出てくる。

このときいつも github/gitignore から 該当言語を探して raw の URL をたどってダウンロード、というのをやっていたのだけど、 いいかんげんめんどくさくなってきたので楽して取ってこれるツールを書いた。 go の練習も兼ねてる。

REAMEにあるように言語一覧のファイルを用意して設定を .zshrc に書くと、 こんな風にこんな風にインタラクティブに絞り込んで目的の言語の .gitignore を取ってくることができる。 peco 便利。

f:id:handlename:20140819211429g:plain

言語一覧ファイルの生成機能くらいはつけてもいいかなーと思ったりしてる。 言語一覧ファイルは不要になった。追記参照。

追記 2014-08-21

mattn さんに プルリク を頂いて、 .gitignore.list を用意する必要がなくなりました。

しれっとコマンド中のエラー処理とか、net/http のレスポンスの処理とかも 直してもらっててありがたや〜

追記 2014-08-22

ブコメで知りましたが、

などの便利ツール・サービスが有るようです。 便利な世の中だ。

マージ済みのブランチをまとめて削除する便利スクリプト書いた

  • git 1.8.1.1
  • perl 5.16.2

マージ済みのブランチを消したい。 リモートリポジトリにあるのもいっしょに消したい。

というのを叶えるために簡単なスクリプトを書いた。perl

ドライラン

delete-merged-branches --dryrun

リモートのブランチも消す

delete-merged-branches --remote

特定のブランチは残す

delete-merged-branches --ignore 'important-branch'

カレントディレクトリが git リポジトリなのかどうかの判別はしていないし、 master にいるのかどうかもチェックしていないけど、必要になったら追加する。