ITエンジニア/デザイナ向けにオープンソースを毎日紹介

Gitでソースコードを管理する際、必ず必要になるのが.gitignoreでしょう。これがないと余計なビルドファイルやログファイル、OSの隠しファイルなどが入り込んでしまいます。かといって、.gitignoreの設定をプロジェクトごとに個別に設定するのは面倒なものです。

そこで使ってみたいのがgiboです。プログラミング言語に合わせた.gitignoreを生成してくれます。

giboの使い方

giboはdumpコマンドを使って出力します。言語や環境は複数指定できます。

$ gibo dump Swift Xcode
### https://raw.github.com/github/gitignore//Swift.gitignore

# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/

Javaの場合はこんな感じ(途中で省略しています)。

$ gibo dump Java
### https://raw.github.com/github/gitignore/310f125d232a837c93f482bc8b8703227b312419/Java.gitignore

# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

giboが対応している言語、フレームワークです。

$ gibo list
Actionscript        Magento2        Backup          Octave          Julia           ROS
Ada         Pimcore         Bazaar          Otto            KiCad           Ruby
Agda            ThinkPHP        BricxCC         Patch           Kohana          Rust
Android         Puppet          Calabash        PSoCCreator     Kotlin          Sass
AppceleratorTitanium    JupyterNotebooks    Cloud9          PuTTY           LabVIEW         Scala
AppEngine       Nikola          CodeKit         Redcar          Laravel         Scheme
ArchLinuxPackages   Racket          CVS         Redis           Leiningen       SCons
Autotools       Red         DartEditor      SBT         LemonStand      Scrivener
C++         Splunk          Diff            SlickEdit       Lilypond        Sdcc
C           Xilinx          Dreamweaver     Stata           Lithium         SeamGen
CakePHP         Composer        Dropbox         SublimeText     Lua         SketchUp
CFWheels        Concrete5       Eclipse         SVN         Magento         Smalltalk
ChefCookbook        Coq         EiffelStudio        SynopsysVCS     Maven           Stella
Clojure         CraftCMS        Emacs           Tags            Mercury         SugarCRM
CMake           CUDA            Ensime          TextMate        MetaProgrammingSystem   Swift
CodeIgniter     D           Espresso        TortoiseGit     Nanoc           Symfony
CommonLisp      Dart            FlexBuilder     Vagrant         Nim         SymphonyCMS
Bazel           Delphi          GPG         Vim         Node            Terraform
InforCMS        DM          Images          VirtualEnv      Objective-C     TeX
Kentico         Drupal          JDeveloper      Virtuoso        OCaml           Textpattern
Phoenix         Eagle           JEnv            VisualStudioCode    Opa         TurboGears2
AtmelStudio     Elisp           JetBrains       WebMethods      OpenCart        Typo3
IAR_EWARM       Elixir          Kate            Windows         OracleForms     Umbraco
Exercism        Elm         KDevelop4       Xcode           Packer          Unity
Hugo            EPiServer       Lazarus         XilinxISE       Perl            UnrealEngine
JBoss4          Erlang          LibreOffice     Go          Perl6           VisualStudio
JBoss6          ExpressionEngine    Linux           Godot           Phalcon         VVVV
Cordova         ExtJs           LyX         Gradle          PlayFramework       Waf
Meteor          Fancy           macOS           Grails          Plone           WordPress
Nuxt            Finale          MATLAB          GWT         Prestashop      Xojo
NWjs            ForceDotCom     Mercurial       Haskell         Processing      Yeoman
Vue         Fortran         MicrosoftOffice     Idris           PureScript      Yii
Snap            FuelPHP         ModelSim        IGORPro         Python          ZendFramework
Logtalk         Gcov            Momentics       Java            Qooxdoo         Zephir
Bitrix          GitBook         MonoDevelop     JBoss           Qt
CodeSniffer     Anjuta          NetBeans        Jekyll          R
Drupal7         Ansible         Ninja           JENKINS_HOME        Rails
Magento1        Archives        NotepadPP       Joomla          RhodesRhomobile

giboはプログラミング言語はもちろんのこと、フレームワークやソフトウェアにも多数対応しています。GitHubが生成してくれる.gitignoreはプログラミング言語向けですが、giboと組み合わせることでより強力な指定ができそうです。

giboはShellスクリプト製のオープンソース・ソフトウェア(Public Domain)です。

simonwhitaker/gibo: Easy access to gitignore boilerplates

 

MOONGIFTの関連記事

コメント

  • DevRel
  • Com2