- 更新日: 2016年6月22日
- Git
.gitignoreを自動生成するgiboとgi(gitignore.io)コマンド
.gitignore の内容を、作成するプロジェクトに合わせて自動生成するツールの紹介です。これまで自分は、gitignore.io(gi コマンド)を使っていたのですけど、もっと良さ気な gibo コマンドを知ったので伴わせて紹介します。
— 環境 —
Mac OS X El Capitan 10.11.3
gibo のインストールと使い方
gibo は Homebrew パッケージとしてインストールできます。
1 2 3 |
$ brew install gibo |
.gitignore を自動生成するための使い方。例として、Rails プロジェクト用の .gitignore の内容をターミナルに出力します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
$ gibo rails ### https://raw.github.com/github/gitignore/be3333655bffe9507d66cc864aee95ed6052b4ed/rails.gitignore *.rbc capybara-*.html .rspec /log /tmp /db/*.sqlite3 /db/*.sqlite3-journal /public/system /coverage/ /spec/tmp **.orig rerun.txt pickle-email-*.html # TODO Comment out these rules if you are OK with secrets being uploaded to the repo config/initializers/secret_token.rb config/secrets.yml ## Environment normalization: /.bundle /vendor/bundle # these should all be checked in to normalize the environment: # Gemfile.lock, .ruby-version, .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc # if using bower-rails ignore default bower_components path bower.json files /vendor/assets/bower_components *.bowerrc bower.json # Ignore pow environment settings .powenv |
.gitignore ファイルに出力。
1 2 3 |
$ gibo rails > .gitignore |
gi(gitignore.io)のインストールと使い方
gitignore.io という .gitignore の内容を自動生成するウェブサービスがあって、コマンドラインツールとして gi コマンドが提供されています。
gitignore.io – Create Useful .gitignore Files For Your Project
上記 gitignore.io のウェブページからでも .gitignore を作成できます。例えば、Rails と入力して Generate。
gitignore.io のコマンドラインツールとして gi コマンドが用意されており、Mac OSX で zsh 環境の場合ですと、以下のコマンド実行で gi コマンドを使えるようになります。
1 2 3 |
$ echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.zshrc && source ~/.zshrc |
gi コマンドの実体は、curl で gitignore.io のページを取得するものとなっているので、ネットワークアクセスが必要です。
その他のプラットフォームやシェル環境での gi コマンドのインストール方法は以下を参照。
gitignore.io – Docs For Generating Your Project .gitignore File
gi コマンドの使い方。ターミナルに出力。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
$ gi rails # Created by https://www.gitignore.io/api/rails ### Rails ### *.rbc capybara-*.html .rspec /log /tmp /db/*.sqlite3 /db/*.sqlite3-journal /public/system /coverage/ /spec/tmp **.orig rerun.txt pickle-email-*.html # TODO Comment out these rules if you are OK with secrets being uploaded to the repo config/initializers/secret_token.rb config/secrets.yml # dotenv # TODO Comment out this rule if environment variables can be committed .env ## Environment normalization: /.bundle /vendor/bundle # these should all be checked in to normalize the environment: # Gemfile.lock, .ruby-version, .ruby-gemset # unless supporting rvm < 1.11.0 or doing something fancy, ignore this: .rvmrc # if using bower-rails ignore default bower_components path bower.json files /vendor/assets/bower_components *.bowerrc bower.json # Ignore pow environment settings .powenv # Ignore Byebug command history file. .byebug_history |
.gitignore ファイルに出力。
1 2 3 |
$ gi rails > .gitignore |
gibo と gi の違い
gibo は、ローカルディレクトリの ~/.gitignore-boilerplates/ に、出力する .gitignore の雛形が保存されています。なので、オフラインでも使用可能ですし .gitignore 内容の出力も高速です。
例えば Rails 用であれば、以下が用意されています。
1 2 3 |
~/.gitignore-boilerplates/Rails.gitignore |
~/.gitignore-boilerplates/ 内のリストを更新するには、以下のコマンドを実行する。
1 2 3 |
$ gibo --upgrade |
gibo –upgrade を実行すると、https://github.com/github/gitignore リポジトリを git pull してきて最新の内容となります。
一方で gi コマンドは、gitignore.io の API を curl で叩くので毎回ネットワークアクセスが必須となる。gi は gibo に比べると .gitignore 内容の出力もワンテンポ遅い感じです。
ということで、私は gibo に乗り換えました。
- Git の関連記事
- git cleanでUntracked files(未追跡ファイル)をまとめて削除
- git管理ファイルを.gitignoreに追加してgit管理から外す
- gitマージのコンフリクトで片方ブランチのファイル変更内容を採用
- git logコマンドで他ブランチにマージされていないコミットのみを確認
- Bitbucketで作成済みWikiページの一覧リストを確認
- GitHubのgh-pages (github.io)でWebページを公開
- git diffで長い行を折り返し表示
- git diffでブランチ間のファイル差分を確認するあれこれ
- Git の履歴からファイルを完全に削除する – git filter-branch
- Bitbucketアカウント作成〜ローカルのGit既存プロジェクトをインポート(push)
Leave Your Message!