チーム開発も終えて何となくGitとGitHubはわかってきたけど、まだモヤモヤが残っているため、頭を整理するためにも基礎的なところをまとめてみたいと思います。
Gitとは
Gitはバージョン管理システムの一つ。
バージョン管理システムは、ファイルの集合に対して時間とともに加えられていく変更を記録し、あとで特定のバージョンを呼び出すシステムのこと。
そもそもなぜバージョン管理をするのか
変更前の状態と変更後を分けて保存する必要に迫られる場合があるため。また、複数人で開発を行うときに同じファイルを上書きしてしまうといったリスクを防ぐため。
リポジトリ
Gitは、プロジェクト全体を1つのスナップショットとして記録していく。そのスナップショットや、バージョン管理に必要なその他のファイルを保存する場所をリポジトリという。
コミット
記録したスナップショットのそれぞれをコミットという。
また、スナップショットを記録する操作のこともコミットという。
コミット操作をおこなうと、プロジェクト内のファイルのすべてがスナップショットとしてリポジトリに保存される。このとき作成したコミットや保存したファイルにはハッシュ値が割り当てられ、コミットはファイルへのハッシュ値への参照を持つことになる。
コミットを選択すれば、そのスナップショットの状態に戻すことができる。
ブランチ
コミットは枝分かれさせることができる。あるコミットの次に作られるコミットが一つとは限らないためである。その枝分かれをブランチという。
マージ
枝分かれしたブランチは統合させることができる。その統合をマージという。
続きは②にまとめていきます。