リポジトリとは?
リポジトリは、プロジェクトのファイルと変更履歴をまとめて管理する単位です。略して「repo」と書かれることもあります。Webサイトなら、HTMLやCSS、画像を参照する設定、変更の記録などが一つのリポジトリにまとまります。
普通のフォルダと似ていますが、Gitリポジトリには変更履歴やブランチなどを管理する情報も含まれます。Gitで管理を始めると、プロジェクトのフォルダ内に通常は非表示の.gitディレクトリが作られます。
ローカルとリモートの違い
自分のパソコンにあるものをローカルリポジトリ、GitHubなど別の場所にあるものをリモートリポジトリと呼びます。コミットはまずローカルへ記録され、プッシュするとその履歴がリモートへ送られます。
同じプロジェクトにローカルとリモートの二つがあっても、常に内容が同じとは限りません。自分だけが持つ未送信のコミットや、ほかの人が先にリモートへ送った変更が存在する場合があります。
フォルダ・リポジトリ・GitHubの違い
- フォルダ:ファイルを整理する入れ物
- リポジトリ:ファイルとGitの変更履歴を管理する単位
- GitHub:リモートリポジトリを保存・共有できるサービス
一つのリポジトリへ何を入れる?
基本は、一緒に変更・公開する一つのプロジェクトを一つのリポジトリにします。関係のない複数サイトを一つへ詰め込むと、履歴や権限が分かりにくくなります。
生成ファイル、大容量の動画、パスワードなど、Gitで管理しないものは.gitignoreで除外します。ただし、すでにコミットした秘密情報は.gitignoreへ追加するだけでは履歴から消えません。
一つのリポジトリに複数の関連プロジェクトをまとめる「モノレポ」という方法もありますが、初心者が個人サイトを管理する段階では、まず一つのサイトを一つのリポジトリにする方が構造を理解しやすくなります。公開単位、権限、履歴をどこまで一緒にしたいかで分け方を決めます。