Git
.gitignore

.gitignoreを自動的に作る(gibo, gitignore.io を使う)

.gitignoreを自動的に作る(gibo, gitignore.io を使う)

.gitignoreは自動生成して、自分で削った方が絶対楽なので、少し調べた結果をまとめておく。

どちらを使ってもいいとは思うけど、個人的には

  • gibo: gitリポジトリをたくさん作ってたくさん.gitignore作るとか、Macとか
  • gitignore.io: 普段からgitリポジトリあまり作らない、windowsで色々入れたりするのがめんどくさい

って使い分けができそうだなと感じた。

.gitignore自動生成サービス

ザクっと調べた所、下記の2つが見つかる。

  • gibo (ツール)
  • gitignore.io (webサイト)

gibo

  • コマンドラインツール
  • macならbrew導入して brew install gibo
  • windows でも使えるらしいことを最近知った(試してない)

    • scoop導入していけるみたいですね
    • リポジトリ引っ張ってきてパス通せばwindowsでもmacでもいけそう
  • 言語名、環境名での指定が可能

    • gibo java とか gibo xcode とか
    • 組み合わせも可能。 gibo vim python とか
  • 実際使うときは .gitignore ファイルにへの書き出しが必要

    • gibo vim go > .gitignore って感じ
  • デメリットとしては gibo -u をしないと最新版の.gitignoreが導入されないことと、brewとかインストールしないといけないところでしょうか?

    • githubでリポジトリのzipを持ってこれるけど、そのタイミングでの最新版しか持ってこられないので… 微妙かなあ(git入れてgit cloneすれば良いけど、それならbrew入れれば良くないですかって話になりそう)
    • gibo自体のアップデートと、.gitignoreのテンプレートリポジトリをアップデートするっていう2つのアップデートがあるのが若干罠かも。

余談

公開されているコードを見た感じだと、github公式のgitignoreリポジトリを引っ張ってきて、該当するものをローカルで探すみたいな形になっている。

ローカルに.gitignoreのリストがあるので、オフラインで使えるというのはメリットなのかもしれない。

gitignore.io

  • webサイト
  • https://www.gitignore.io/
  • 文字列を選択して入れると良さそう。
  • 検索ワードは複数使えます

gitignore_io_-_Create_Useful__gitignore_Files_For_Your_Project.png

  • githubでソースコード公開されてる(今知った)
  • githubのリポジトリにも書いてあるけど、curl -L -s https://www.gitignore.io/api/java みたいな形で持ってこれる
  • bashrcとかに関数用意しておくのが無難かなあ

  • デメリットとしてはWebに接続していないと使えないことでしょうかね。Webに表示されているものをコピペするのはめんどくさいので、curlとかで持って来なきゃならないのもめんどくさそう。

余談

検索後の結果を見てもパット見なぜリダイレクトしているのかわからなかったので、curlコマンドで調べてみる。

[08/05 16:27:27] $ curl -L --max-redirs 0 -D - https://www.gitignore.io/api/java
HTTP/1.1 200 OK
Date: Sat, 05 Aug 2017 07:28:38 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 378
Connection: keep-alive
Set-Cookie: __cfduid=dec3a3a3464c007b70d8e098d0b9647c11501918117; expires=Sun, 05-Aug-18 07:28:37 GMT; path=/; domain=.gitignore.io; HttpOnly
Via: 1.1 vegur
Server: cloudflare-nginx
CF-RAY: 38980a689f452e15-NRT

(後略)

普通に取れている?
プロトコルをhttpsからhttpに変更してみる。

[08/05 16:31:49] $ curl -L --max-redirs 1 -D - http://www.gitignore.io/api/java
HTTP/1.1 301 Moved Permanently
Date: Sat, 05 Aug 2017 07:31:54 GMT
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Sat, 05 Aug 2017 08:31:54 GMT
Location: https://www.gitignore.io/api/java
Server: cloudflare-nginx
CF-RAY: 38980f37f6ab2e0f-NRT

HTTP/1.1 200 OK
Date: Sat, 05 Aug 2017 07:31:55 GMT
Content-Type: text/plain; charset=utf-8
Content-Length: 378
Connection: keep-alive
Set-Cookie: __cfduid=d8be36077fc78404ce4b267050b14f09c1501918314; expires=Sun, 05-Aug-18 07:31:54 GMT; path=/; domain=.gitignore.io; HttpOnly
Via: 1.1 vegur
Server: cloudflare-nginx
CF-RAY: 38980f3b2a2e2e27-NRT

(後略)

どうやらhttpsに移行してるらしい?
qiitaの過去記事を見てみるとhttpとなっているものへアクセスしているものも見られた。

httpsを指定した場合はリダイレクトしてないけど、将来的にドメイン変わる可能性とかも考慮して、githubのREADMEにはそう書いてあるんだろうか。

ローカルにインストール不要なのはいいかなと思う。giboみたいにローカルでリポジトリを持つ必要性もないので、不要なファイルを持たなくてもいいのは良いかも。

参考資料

qiitaの記事を読んで、書いてみようという気持ちになったので、偉大な先人の皆様に感謝しています。

未検証

さっきググったら、こんなのも見つけたって話。

終わりに

メモ書き程度ですが、両方について書いているものが少なかったので書いてみた。
どうしてgitignore.ioにcurlコマンド使ったときにリダイレクトが必要なのはなぜか、とか考える機会にもなり、curlコマンドに関しての知見を良い機会にもなった。

初投稿終わり。