Gitとは
ファイルの変更履歴を管理するためのシステムである。ちなみに、変更履歴を管理するシステムをバージョン管理システムという。
Gitの特徴
・ファイルの変更履歴を保存できる
・過去のファイルに戻ることができる。
##GitHubとは
GitHubとは、gitの仕組みを利用した、サービスの名前である。
GITの基礎的な知識(用語)
####・リポジトリ
リポジトリとは、変更履歴を保管しておく入れ物のようなもの。
種類
・ローカルリポジトリ
ローカルリポジトリとは、自分のPC上(オフライン上)にあるリポジトリで、個人で作業する際に使用。
・リモートリポジトリ
リモートリポジトリとは、ネットワーク上に配置するリポジトリ、複数人で共有して作業ができる。
・コミット
ディレクトリやファイルなどの変更履歴を記録するための操作です。
コミットでは、過去の履歴の変更履歴等や変更内容を知ることができる。
・インデックス
インデックスとは、コミットするファイルを登録しておく場所です。
・クローン
クローンとは、要はダウンロードと同じ意味で、詳しく説明すると、ローカルリポジトリを、リモートリポジトリとして保存しているということ。
・プッシュ
リモートリポジトリにローカルリポジトリを送信して、保存する。
※この時、ローカルリポジトリで変更を記録(コミット)したあとは、プッシュをしないとリモートリポジトリに変更が反映されません。
・プル
プルとは、リモートリポジトリの中で、ローカルリポジトリに無いもの、または誰かが更新したものをダウンロードしていきます。
・ブランチ
ブランチとは、対象と全く同じフォルダやファイルを保存すること、簡単にいうと、コピーのことです。
また、最初にコミットされた際に自動で作成されるブランチは、マスターブランチといい、元締めのブランチになることが多いです。
・マージ
マージとはブランチ同士を結合することです。
##Gitで発生する問題点
・競合(コンフリクト)
競合とは、複数人がそれぞれのブランチで同じ箇所を編集していた場合、Gitには、どちらのブランチの変更を優先すれば良いか判断がつかなくなります。このように、複数の人が、同じ箇所を編集してしまい、変更箇所を自動でマージ出来なくなることを競合といいます。
#####条件
・2つのブランチで同じ箇所のソースコードを編集している
・片方のブランチをマージし、もう片方のブランチを同じブランチにマージしている
上の2つの条件が重なった場合に競合が発生します。