😸

【Git】リポジトリに`.gitignore`を配置してgitが管理しないファイルを指定する

2023/06/15に公開

はじめに

gitでディレクトリ内のファイルをステージングする際、git add .を使うと一括でやってくれるので便利ですよね。ただ、そのディレクトリ内にバージョン管理してほしくないファイル(リモートリポジトリにアップしたくないファイル)があると、該当ファイルを一つずつgit addコマンドに記載していかないといけないので不便です。そんな時に役立つのが.gitignoreです。
この記事では.gitignoreについて勉強した内容を簡単に纏めます。

この記事の想定読者:

・新人エンジニア
・gitを勉強し始めた人

gitignoreとは

.gitignoreは、Gitバージョン管理システムで使用される特殊なファイルで、Gitが無視する(つまりバージョン管理から除外する)ファイルやディレクトリを指定します。

使い方

.gitignoreファイルは、プロジェクトのルートディレクトリに配置され、その中には無視するパターンが一行ごとに記述されます。以下に、一般的な.gitignoreファイルの例を示します:

# Ignore all .a files
*.a

# But do track lib.a, even though you're ignoring .a files above
!lib.a

# Only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# Ignore all files in the build/ directory
build/

# Ignore all .tmp files
*.tmp

上記の例では、以下のようなルールが適用されます:

  • *.aは、全ての.a拡張子を持つファイルを無視します。
  • !lib.aは、lib.aという名前のファイルは無視しないことを指定します。このルールは、上記の*.aルールを上書きします。
  • /TODOは、現在のディレクトリのTODOという名前のファイルだけを無視します。サブディレクトリのTODOファイルは無視されません。
  • build/は、build/ディレクトリとその中の全てのファイルを無視します。
  • *.tmpは、全ての.tmp拡張子を持つファイルを無視します。

.gitignoreファイルは、ビルドの出力、ログファイル、ローカル設定、パーソナルエディタの設定、システム生成のファイルなど、バージョン管理する必要がないファイルを指定するのに役立ちます。これにより、リポジトリをクリーンに保つことができます。

Discussion