作った。
Ruby の実行環境と json gem が必要。 因みに ruby 1.9.3 でしか動作確認してない。
git-ignore-template をパスの通ったところに置き実行権限を付与する。
curl -O https://gist.github.com/raw/4286831/git-ignore-template
chmod +x git-ignore-template
mv git-ignore-template /usr/local/bin
こんな感じで使える。
cd /path/to/my_project
git ignore-template Ruby Rails > .gitignore
引数を指定しないと使用可能な言語/環境が出力される。
$ git ignore-template
Usage: git ignore-template <language>...
Languages:
Actionscript Android AppceleratorTitanium Autotools Bancha C C++ CFWheels CMake CSharp CakePHP Clojure CodeIgniter Compass Concrete5 Coq Delphi Django Drupal Erlang ExpressionEngine Finale ForceDotCom FuelPHP GWT Go Grails Haskell Java Jboss Jekyll Joomla Jython Kohana LaTeX Leiningen LemonStand Lilypond Lithium Magento Maven Node OCaml Objective-C Opa OracleForms Perl PlayFramework Python Qooxdoo Qt R Rails RhodesRhomobile Ruby Scala Sdcc SeamGen SketchUp SugarCRM Symfony Symfony2 SymphonyCMS Target3001 Tasm Textpattern TurboGears2 Unity VB.Net Waf Wordpress Yii ZendFramework gcov nanoc opencart
テンプレートを作成したい言語/環境をを指定(複数可能)するとその言語/環境の .gitignore のテンプレートが出力される。
$ git ignore-template Ruby Rails
## Ruby
*.gem
*.rbc
.bundle
.config
coverage
InstalledFiles
lib/bundler/man
pkg
rdoc
spec/reports
test/tmp
test/version_tmp
tmp
# YARD artifacts
.yardoc
_yardoc
doc/
## Rails
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
**.orig
rerun.txt
pickle-email-*.html
zsh を使ってて git の補完が有効になってる場合は _git-ignore-template を $fpath の通ったところにおけば補完が効く。
curl -O https://gist.github.com/raw/4286831/_git-ignore-template
mv _git-ignore-template /usr/local/share/zsh/site-functions
因みに zsh 5.0.0 でしか動作確認してない。
Github API v3 を使ってる。
Gitignore templates | GitHub API
後、API からの取得結果は $TMPDIR にキャッシュしてる。