tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

【git】.gitignoreの書き方 - テンプレートを使うその1 - gitignore.io

はじめに

git管理化から特定のファイルなどを無視したければ.gitignoreに追加します。
しかもだいたいが適宜気づいたら、つどつど。

ただ、言語、フレームワーク、ツールなどのファイルは
新しいプロジェクトのたび x 適宜気づくたびに追加するのは面倒です。

そこで、
今回はお決まりのgitignoreテンプレを提供してくれるgitignore.ioのメモ f:id:tweeeety:20170622002147p:plain

アジェンダ

  1. gitignore.ioとは
  2. gitignore.ioをcurlで使ってみる
  3. gitignore.ioをbashのコマンドにする
  4. gitignore.ioをgit aliasにしてgit ignore xxxで使えるようにする

1. gitignore.ioとは

公式サイトはこちらです。 https://www.gitignore.io/

Create useful .gitignore files for your project

公式ページからの引用ですが、有用な.gitignoreを作ってくれる君ですね。

また、テンプレ集という意味だと
https://github.com/github/gitignore もあるので見てみると良いかもしれないです。

2. gitignore.ioをcurlで使ってみる

使い方は簡単。
https://www.gitignore.io/api/${言語やツール} と指定するだけです。

ためしにvim用のgitignore

$ curl -L -s https://www.gitignore.io/api/vim

# Created by https://www.gitignore.io/api/vim

### Vim ###
# swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags

# End of https://www.gitignore.io/api/vim

標準出力に出力されるので、そのまま.gitignoreを作るなり追記するなりでも良さそうです。

# 追記
curl -L -s https://www.gitignore.io/api/vim >> .gitignore

また、同時に複数指定することもできます。

$ curl -L -s https://www.gitignore.io/api/vim,java

# Created by https://www.gitignore.io/api/vim,java

### Java ###
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

# Mobile Tools for Java (J2ME)
.mtj.tmp/

# Package Files #
*.jar
*.war
*.ear
*.zip
*.tar.gz
*.rar

# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

### Vim ###
# swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags

# End of https://www.gitignore.io/api/vim,java

3. gitignore.ioをbashのコマンドにする

公式のまんまですが下のようにbashのfunctionにしてしまいます。

echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile

使ってみる

# bashの設定に追加
$ echo "function gi() { curl -L -s https://www.gitignore.io/api/\$@ ;}" >> ~/.bash_profile && source ~/.bash_profile

# 打ってみる
$ gi vim

# Created by https://www.gitignore.io/api/vim

### Vim ###
# swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags

# End of https://www.gitignore.io/api/vim

4. gitignore.ioをgit aliasにしてgit ignore xxxで使えるようにする

bash的なコマンドも良いですが、どうせならgitコマンドぽく使いたいですよね。

こちらも公式のまんまですが、
以下のようにするとgitのsubコマンドのように使えます。

git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi'

使ってみる

# aliasにする前
# 当然怒られる
$ git ignore vim
git: 'ignore' is not a git command. See 'git --help'.

# aliasにする
$ git config --global alias.ignore '!gi() { curl -L -s https://www.gitignore.io/api/$@ ;}; gi'

# どや!
$ git ignore vim

# Created by https://www.gitignore.io/api/vim

### Vim ###
# swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-v][a-z]
[._]sw[a-p]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags

# End of https://www.gitignore.io/api/vim

おわり

こういうテンプレは自分でメンテしてくのも大変だし
お任せできるって素敵ですね\(^o^)/