#プログラミングの勉強日記
2020年8月30日
チーム開発には欠かせないGitの用語をまとめる。
#レポジトリ
Gitの基本的な機能で、時系列でファイルの記録を整理することができる。この記録を管理するデータベースをレポジトリという。データを一元的に管理することができ、最新のデータだけでなく昔のデータも見ることができる。
すでに誰かが作ったものをコピーしてくることをレポジトリのクローンといい、自分で空のものを作成することをレポジトリのイニットという。
#コミットとコミットメッセージ
レポジトリに現在のファイルの内容を記録することや、その結果作られた記録のことをコミットという。
Gitではファイルを変更するたびにコミットすることができる。複数のファイルをまとめてコミットすることも1つのファイルをコミットすることもできる。
コミットしない限りファイルの変更はリポジトリに記録されない。
コミットするときに、自動的にコミットしたユーザの名前が記録されて、コミットメッセージを残す必要がある。コミットメッセージは、そのコミットでの変更を具体的に記述する。
チーム開発においては良いコミットメッセージを残すことも大切なスキルとなる。1日の作業において数回以上コミットする方がいい。
#ワークツリー
ワークツリーは普通のフォルダのようなもの。ただ、ワークツリーにあるファイルの変更がGitによって監視されている。
Gitは、現在のコミットとワークツリーの内容を比較してそこに差があったときに行単位で変更箇所がわかる。ファイルの削除や追加も差分として扱われる。
#ブランチとマージ
ブランチは複数の機能を同時に開発するときに使われる、コミットの系図の枝分かれを指した概念のこと。作業履歴を枝分かれさせて記録する。この枝分かれしたブランチは他のブランチの影響を受けないので、同じリポジトリの中で複数の変更を同時に進めることができる。
枝分かれしたブランチは他のブランチとマージ(合流)することで1つのブランチにまとめ直すことができる。
#コンフリクト
ブランチはファイルの衝突を先延ばしにすることができるが、完全に衝突を阻止することはできない。同じファイルが2つのブランチでそれぞれ変更されて、Gitで中身を合体できないという状況になるとコンフリクトが発生する。
コンフリクトが起こるとブランチのマージは一旦保留になり、ユーザが手動でコンフリクトを解消しなければならない。
#参考文献
本当の初心者向け!Git入門のための概念から基本用語まで
ブランチとは