gitignore.ioを使った簡単で設定漏れのない.gitignoreファイルのつくりかた

こんにちは。てぃろです。

今回はGitリポジトリを作るときに有用なTipsです。

.gitignoreを作るのはかなりめんどくさいし、危険

.gitignoreファイルといえばGitで開発している方なら誰でも知っていると思います。簡単に言うと、Gitリポジトリにコミットしたくないファイルを指定する設定ファイルです。

いざこれを作ろうと思うと、ワイルドカードと拡張子で指定もできるとはいえ、一つ一つ指定する必要があって、手作業で作成するのはかなりの手間です。

しかも、プログラミング言語によっても指定すべきものは違うし、エディタやビルド環境などによっても、コミットしたくないファイルは様々です。

そうすると、いつも何をコミットしたくないファイルなのかわからず、漏れが出て無駄にファイルをコミットしてしまったりしますし、場合によってはセキュリティ上望ましくないファイルをコミットしてしまうなどした場合に非常に危険だとも言えます。

gitignore.ioは.gitignoreを自動生成してくれるサービス

このような課題を解決を手助けしてくれるのがgitignore.ioというこちらのサービスです。これは開発環境ごとにコミットしたくないファイルの種類を自動生成してくれるのです。

使い方は非常に簡単です。

以下の画像のように必要な環境やプログラミング言語を入力欄に入れて「作成する」ボタンを押すだけです。ここでは、Mac上でVSCodeを使ってGo言語の開発をしていると仮定します。

作成すると、以下のようなファイルが作成されます。

# Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,go,macos
# Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,go,macos

### Go ###
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/

# Go workspace file
go.work

### Go Patch ###
/vendor/
/Godeps/

### macOS ###
# 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

### macOS Patch ###
# iCloud generated files
*.icloud

### VisualStudioCode ###
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets

# Local History for Visual Studio Code
.history/

# Built Visual Studio Code Extensions
*.vsix

### VisualStudioCode Patch ###
# Ignore all local history of files
.history
.ionide

# Support for Project snippet scope
.vscode/*.code-snippets

# Ignore code-workspaces
*.code-workspace

# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,go,macos

これをそのまま.gitignoreファイルの中に書き込めばOKです!

もちろん、プロジェクトによっては命名規則やディレクトリ構成、管理の考え方に独自のものがあったりもすると思うので、ここから適宜カスタマイズしていくのがよいでしょう。

最後に

いかがでしたでしょうか。

これで.gitignoreの悩みの9割くらいは解消できると思います。もはや、Gitリポジトリをつくったら一番最初にアクセスしておきたいサービスと言えるのではないでしょうか。

個人的にgitignore.ioの一番のポイントは、生成されたファイルに丁寧なコメントがたくさんついていることだと思っています。どの設定がなんのファイルなのかというのが書いてあるので非常に勉強になります。何よりも書き方がきれいなので、これをマネして追加の設定をしておけば整理されたステキな設定ファイルを保つこともできます!

今回は短いですが、以上です。

是非gitignore.ioというこのサービスで、快適な.gitignoreファイル管理をしてみてください!