Gitでプロジェクトを管理する場合、各プログラミング言語や環境に合わせて.gitignoreを用意することでしょう。GitHubでゼロからリポジトリを作る場合、初期化する際に言語の指定ができますが、既にGitで管理している場合はできません。 また、.gitignoreを生成するサービスもありますが都度見るのは面倒でしょう。そこで使ってみたいのがjoeです。

joeの使い方

例えばJavaのプロジェクトの場合、次のようにコマンドを打ちます。

$ joe java

出力結果は次の通りです。

#### joe made this: https://goel.io/joe

#####=== Java ===#####

*.class

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

つまり出力をそのまま.gitignoreとすれば良いということです。言語は次の通り、多数に対応しています。

$ joe ls
actionscript, ada, agda, android, anjuta, appceleratortitanium, archlinuxpackages, archives, autotools, bricxcc, c, c++, cfwheels, cmake, cvs, cakephp, chefcookbook, clojure, cloud9, codeigniter, codekit, commonlisp, composer, concrete5, coq, craftcms, dm, dart, darteditor, delphi, dreamweaver, drupal, episerver, eagle, eclipse, eiffelstudio, elisp, elixir, emacs, ensime, erlang, espresso, expressionengine, extjs, fancy, finale, flexbuilder, forcedotcom, fortran, fuelphp, gwt, gcov, gitbook, go, gradle, grails, haskell, igorpro, ipythonnotebook, idris, jdeveloper, java, jboss, jekyll, jetbrains, joomla, jython, kdevelop4, kate, kohana, labview, laravel, lazarus, leiningen, lemonstand, libreoffice, lilypond, linux, lithium, lua, lyx, magento, matlab, maven, mercurial, mercury, metaprogrammingsystem, meteor, microsoftoffice, modelsim, momentics, monodevelop, nanoc, netbeans, nim, ninja, node, notepadpp, ocaml, osx, objective-c, opa, opencart, oracleforms, packer, perl, phalcon, playframework, plone, prestashop, processing, python, qooxdoo, qt, r, ros, rails, redcar, redis, rhodesrhomobile, ruby, rust, sbt, scons, svn, sass, scala, scrivener, sdcc, seamgen, sketchup, slickedit, stella, sublimetext, sugarcrm, swift, symfony, symphonycms, tags, tex, textmate, textpattern, tortoisegit, turbogears2, typo3, umbraco, unity, vvvv, vagrant, vim, virtualenv, visualstudio, waf, webmethods, windows, wordpress, xcode, xilinxise, xojo, yeoman, yii, zendframework, zephir

中にはWordPressがあったり、jekyllがあるなど特定のソフトウェアやフレームワークにも対応しています。何個もリポジトリを作っていると徐々に調べるのが面倒になるのでjoeを使うと素早く作業が完了できますね。

joeはPython製、MIT Licenseのオープンソース・ソフトウェアです。

karan/joe