第2の人生の構築ログ

自分の好きなことをやりつつ、インカムもしっかりと。実現していく過程での記録など。読書、IT系、旅行、お金に関係する話などの話題。

gitignoreファイルを自動生成する / gibo

新たにプロジェクトを作成し、git で初期化を行う際、都度 .gitignore ファイルを作成するのですが、ちょっとしたことですが、意外とメンドイです。自動化できるコマンドがあります。

そう、手作業で github/gitignore: A collection of useful .gitignore templates から該当定義を探してコピペしていたのですが、これをコマンドで勝手にとってきてくれるというものです。

インストール

macOS でしたら、以下のように brew でインストールできます。

$ brew install gibo

その他、Linux、Windows プラットフォームでも利用可能なようですので、本家のサイトを確認ください。

使い方

使い方は、dump サブコマンドを使って .gitignore に含めたい言語、環境を指定します。例えば、macOS プラットフォームにおける無視ファイル群は macOS で指定できます。

$ gibo dump macOS
### https://raw.github.com/github/gitignore/55df35ee63aef4a6f859559af980c9fb87bee1a1/Global/macOS.gitignore

# General
.DS_Store
.AppleDouble
.LSOverride

# Icon must end with two \r
Icon

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

これを .gitignore ファイルに追加したいので、必要なものを引数に並べて追加しておきます。

$ gibo dump macOS Emacs >> .gitignore

他に追加可能な言語、環境は何があるのでしょうか。gibo list を叩くと確認できます。

f:id:dr_taka_n:20200217215239p:plain

一杯ありますね。

言語、環境の指定にオートコンプリートを使う

リストの結果から言語、環境の指定キーワードを拾うのも良いのですが、自動補完(auto complete) が使えますので、自動補完(auto completion) を有効にしておきます。動作イメージは以下のような感じです。タブを叩くことで補完されています。(zshの補完が残ってしまっているのでちょっと分かり難いかもです・・・)


gibo autocompletion

ここでは、zsh での設定を記載しますが、simonwhitaker/gibo: Easy access to gitignore boilerplates に bash の設定方法も書かれていますので、bash での設定はそちらを参照ください。

$fpath にレポジトリにある gibo-completion.zsh を配置します。 ~/.zsh ディレクトリに fpath を切っています。

fpath=($HOME/.zsh $fpath)

以下のように_gibo という名前でgibo-completion.zsh~/.zshにダウンロードしておきます。

$ curl https://raw.githubusercontent.com/simonwhitaker/gibo/master/shell-completions/gibo-completion.zsh -o ~/.zsh/_gibo

これで先程のビデオのようなオートコンプリートが使えるようになります。