GitHubのリポジトリを作成した際、不要なファイルをpushしていたので「Git/GitHubのお作法覚えようか。git ignore調べて対応してね」というご指摘を頂いたので、備忘録的にこの記事を書いています。
git ignoreとは?
GitやGitHubで管理対象外にしたいリソース(ファイルやディレクトリ)を定義する設定ファイルになります。
隠しファイルとして取扱うため、ファイル名は「.gitignore」になります。
何故必要?
GitやGitHubで分散開発されている方は多いと思いますが、ローカル環境のBuildやDeployで作成される中間ファイルや隠しファイル(隠しディレクトリ)は他の開発者には不要だからです。
また、重要な機密ファイル(GCPだとサービスアカウントのCredentialFileとか)を誤って公開リポジトリにpushするといった事故防止のためにもgit ignoreの活用は必要だと思います。
※GCPの場合はKMSやSecret Managerなどで、こういった事故を防ぐことができますが、このあたりは別途記事に出来たらと思います。
.ignoreのサンプル
最近Terraformで開発をしているので、Terraform向けの内容となっています。
Terraform以外で開発をされている方は5行目以降の内容を適宜カスタマイズ頂けたらと思います。
正規表現も使えるので、複雑なルールを記載することも可能です。
●.gitignore(Terraform向けサンプル)
#.gitignore以外の隠しファイル、ディレクトリを除去
.*
!.gitignore
#tfstate除去
terraform.tfstate*
#出力結果ファイル(.txt)の除去
*.txt
リポジトリに不要なファイルがpushされている場合は?
.gitignoreに不要なファイルを追記し、リポジトリにpushすればリポジトリから削除されます。