A .gitignore magician in your command line. Joe generates .gitignore files from the command line for you.
- Written in uncomplicated Go (Golang)
- No installation necessary - just use the binary.
- Stupidly easy to use
- Supports all Github-supported
.gitignorefiles - Works on Mac, Linux and (maybe) Windows
- Supports other version control systems (
.hgignore)
After install, make sure to run joe u. This will download all .gitignore files in ~/.joe-data/ folder.
joe is available for OSX (macOS), Linux and Windows.
Download the latest binary from the Releases page. It's the easiest way to get started with joe.
Make sure to add the location of the binary to your $PATH.
git clone git@github.com:kendfss/joe.git
cd joe
go install
joe uThis is the original installer from Karan's repo. I've updated it, but it's obsolete now that go uses Modules for package management.
git clone git@github.com:kendfss/joe.git
cd joe/
chmod +x tool.sh
./tool.sh buildls | list list all available files
u | update update all available gitignore files
g | generate generate gitignore files
s | search search for gitignore files with matching names
joe g java # outputs .gitignore file for java to stdoutTo update your .gitignore files at any time, simply run:
joe ujoe g java > .gitignore # saves a new .gitignore file for javajoe g java >> .gitignore # appends to an existing .gitignore filejoe g java,node,osx > .gitignore # saves a new .gitignore file for multiple languagesYou can also use joe to append to a global .gitignore. These can be helpful when you want to ignore files generated by an IDE, OS, or otherwise.
git config --global core.excludesfile ~/.gitignore # Optional if you have not yet created a global .gitignore
joe g OSX,SublimeText >> ~/.gitignorejoe ls # OR `joe list`joe s py # or `joe search`
# prints all languages whose names contain "py"
joe s "^py"
# prints all languages whose names start with "py"
joe s py$
# prints all languages whose names end with "py"Output:
actionscript, ada, agda, android, anjuta, appceleratortitanium, archives, archlinuxpackages, autotools, bricxcc, c, c++, cakephp, cfwheels, chefcookbook, clojure, cloud9, cmake, codeigniter, codekit, commonlisp, composer, concrete5, coq, craftcms, cvs, dart, darteditor, delphi, dm, dreamweaver, drupal, eagle, eclipse, eiffelstudio, elisp, elixir, emacs, ensime, episerver, erlang, espresso, expressionengine, extjs, fancy, finale, flexbuilder, forcedotcom, fortran, fuelphp, gcov, gitbook, go, gradle, grails, gwt, haskell, idris, igorpro, ipythonnotebook, java, jboss, jdeveloper, jekyll, jetbrains, joomla, jython, kate, kdevelop4, 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, objective-c, ocaml, opa, opencart, oracleforms, osx, packer, perl, phalcon, playframework, plone, prestashop, processing, python, qooxdoo, qt, r, rails, redcar, redis, rhodesrhomobile, ros, ruby, rust, sass, sbt, scala, scons, scrivener, sdcc, seamgen, sketchup, slickedit, stella, sublimetext, sugarcrm, svn, swift, symfony, symphonycms, tags, tex, textmate, textpattern, tortoisegit, turbogears2, typo3, umbraco, unity, vagrant, vim, virtualenv, visualstudio, vvvv, waf, webmethods, windows, wordpress, xcode, xilinxise, xojo, yeoman, yii, zendframework, zephir
Joe isn't just a generator for .gitignore files. You can use it and its output wherever a SCM is used.
joe g java > .hgignorePlease use the issue tracker to report any bugs or file feature requests.
PRs are welcome. To begin developing, do this:
git clone git@github.com:karan/joe.git
cd joe/
go run *.goThis is a handy script that automates a lot of developing steps.
USAGE:
$ $tool [-h|--help] COMMAND
EXAMPLES:
$ $tool deps Install dependencies for joe
$ $tool build Build a binary
$ $tool run Build and run the binaryAvoid writing duplicates to output
add an o option for writing output directly file
- new structure
- reading
- writing
- updating

