2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

開発をスムーズに進めるための.gitignore設定ガイド

Last updated at Posted at 2024-04-03

ソフトウェア開発において、.gitignoreファイルの適切な設定は重要です。このファイルによって、バージョン管理から除外すべきファイルやディレクトリを指定でき、不要なファイルがリポジトリに混入するのを防ぎます。特に、Go、Node.js、Python、Java、Ruby、C#などのプログラミング言語を使用している場合、言語特有の生成物や依存関係で生成されるファイルを無視する設定が必要になることがあります。本記事では、これらの言語における.gitignoreの設定例と、それぞれの言語で無視すべき一般的なファイルについて解説します。

Go(Golang)

Go言語では、ビルド時に生成される実行可能ファイルやテスト時に作成される一時ファイルを.gitignoreに含めるべきです。また、go.modgo.sumファイルは依存関係の管理に使用されるため、これらは無視しないでください。

# 実行可能ファイル
*.exe
*.exe~
*.dll
*.so
*.dylib

# テスト関連
*.test
*.log

# 依存関係ツール
/vendor/

Node.js

Node.js開発では、node_modulesディレクトリと環境設定ファイルが主な無視対象です。node_modulesは、プロジェクトの依存関係を格納するディレクトリであり、これらはnpm installを実行することで誰でも生成できるため、バージョン管理に含める必要はありません。

# 依存関係
/node_modules/
/npm-debug.log
/yarn-error.log

# 環境設定ファイル
.env
.env.local

Python

Pythonプロジェクトでは、バイトコードコンパイルファイル、仮想環境ディレクトリ、設定ファイルが.gitignoreの典型的な対象です。仮想環境は各開発者がローカルで設定するもので、プロジェクト共有には適しません。

# コンパイルされたバイトコード
__pycache__/
*.py[cod]
*$py.class

# 仮想環境
venv/
ENV/

# 設定ファイル
*.ini
*.cfg
*.config

Java

Javaプロジェクトでは、ビルドプロセス中に生成されるクラスファイルやJARファイル、IDE固有の設定ファイルなどを無視する設定が一般的です。

# コンパイルされたクラスファイル
*.class

# パッケージングされたアーティファクト
*.jar
*.war
*.ear

# IDE設定ファイル
/.idea/
*.iml
*.eclipse
/project/

Ruby

Ruby、特にRailsアプリケーション開発では、依存関係のファイル、ログファイル、一時ファイルなどを.gitignoreに含めることが推奨されます。

# 依存関係
/vendor/bundle

# SQLiteデータベース
*.sqlite3
*.sqlite3-journal

# ログと一時ファイル
/log/*
!/log/.keep
/tmp

C#

C# (特に.NETプロジェクト) では、ビルドプロセス中に生成されるバイナリファイルや、IDEやOS固有のファイルを無視する設定が必要です。

# ビルド結果
[Bb]in/
[Oo]bj/
[Ll]ogs/
[Dd]ebug*/
[Rr]elease*/

# Visual Studio固有のファイル
.vs/
*.csproj.user
*.suo
*.user
*.userosscache
*.sln.docstates

# Windowsイメージファイル
Thumbs.db
ehthumbs.db

まとめ

.gitignoreの適切な設定は、開発プロセスをスムーズにし、不要なファイルの共有を防ぎます。上記の設定例を参考に、プロジェクト固有のニーズに合わせて.gitignoreをカスタマイズすることが大切です。開発中に新たに無視すべきファイルが見つかった場合は、都度.gitignoreを更新することを忘れないでください。

2
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?