.gitignoreの教え
はじめに
.gitignoreファイルはGitに特定のファイルを追跡されないようにしてくれるものです。そのファイルに書かれたファイルたちに変更を加えたとしても、コミットやプッシュの対象とはなりません。
開発等では必ず使用するといっても過言ではないです。逆に使用しないと大変なことになっちゃいます!仮想環境にある膨大な数のファイルを一斉にプッシュしてしまったり、
そのファイルに定期的なファイルの変更を加えられてプッシュ地獄になったり、
APIキー等の公開してはいけない情報を誤って全世界に公開してしまったりと大変なことになります。**(APIキー以外は自分の実体験です)
プログラミング始めたてだったころは、.gitignoreを作ることなく、仮想環境含むすべてのファイルをプッシュした時がありました。その結果、仮想環境のところでコンフリクトが起きまくり、しかも自動的に変更が加えられるので直しようがないし、そもそも事の重大さに気づいたのはブランチをいくつか作って作業していた時なので、時すでに遅し...
ただ、絶対公開しちゃいけないような情報はアップしていなかったので、まだマシといったところでしょうか...
そのリポジトリは、プライベートにして完全に封印しています。自分への戒めとして今も残しています。
今回は、GitHubでリポジトリを作成するときの.gitignoreの設定の仕方を、ちょっとしたハンズオン形式で解説します。
GitHub:リポジトリ作成・クローン
New Repositoryからリポジトリを作成します。Add a README fileにチェックを入れます。ここでは敢えてAdd .gitignoreには何も設定せずに作ります。ライセンスも特に設定せずに行きます。
作成したら、自身のPCにクローンします。
VSCode:.gitignoreファイルを作成
touchコマンドを使うか「新しいファイル」から.gitignoreファイルを作成します。
touch .gitignore
作成できた.gitignoreファイルの中身はまだ空っぽのはずです。
VSCode:何かファイルを作成して無視する
ここで、何でもいいのでファイルを作成してみましょう。
そこに何かを記述してみても良いです。今回は、言語はPythonを使用し、main.pyを作成してみます。
print(".gitignoreファイルを作成")
そうすると、VSCodeの左にあるソース管理画面に、.gitignoreとmain.pyの2つのファイルが表示されているはずです。現在、これらのファイルがGitの追跡対象となっていることを指しています。コミット・プッシュが可能な状態になっています。
自分で新たに作成したファイルを追跡対象外にして、コミットすることを防いでみましょう。
やり方は簡単です。
.gitignoreファイルに自分が新たに作成したファイルの名前を記述するだけです。ここではmain.pyと記述します。
main.py
先ほどのソース管理画面に戻ってみると、.gitignoreしか表示されないはずです。これで、main.pyがGitの追跡対象外となったことにより、コミットを防ぎ、GitHub上に公開されることはなくなりました。
この状態で、.gitignoreをコミット・プッシュしてみましょう。
GitHub:確認してみよう
プッシュし終えたら、今回作成したGitHubのリポジトリにアクセスします。.gitignoreファイルが表示されていると思います。そして、自分が新たに作成したファイルが表示されないはずですので、そうしたら成功です。
便利サービス:gitignore.io
複数の言語・フレームワークを使って開発を進める際にいちいち該当箇所を追加するのは大変なので、gitignore.ioというサービスを利用すれば良いです。
入力欄に使いたい言語やフレームワークを書き、createボタンを押すだけで勝手にテンプレートを生成してくれます。それをそのまま.gitignoreファイルにブチ込みましょう。
終わりに
冒頭でも紹介した通り、本当に大変なことになってしまうので、
.gitignoreは必ず作成しましょう。
Discussion