Git/GitHub
Git/GiitHubの目的
「いつ」「誰が」「どんな変更をした」といったファイルのバージョン(変更履歴)管理が容易になり、チーム開発もスムーズに行うことができる。
基本知識
version管理
ソースコードを初めとしたファイルの変更履歴(version)を管理すること。
これにより、変更箇所の確認(diff)、特定時点の内容に戻す(reset)という操作が可能になります。
リポジトリ
version管理において、管理されるファイルと履歴情報が保存される領域のこと。
リポジトリで、ファイル/ディレクトリを操作することでversion管理が可能にあります。
更に、リポジトリにはlocalリポジトリとremoteリポジトリがあります。
localリポジトリ
ローカル環境下(個々人のPC下)に存在し、ファイルやファイルの変更内容が保存されています。
remoteリポジトリ
リモート環境下(ネットワーク上のサーバ等)に存在し、ローカルリポジトリの内容が集約され、開発者全員が共有できるようになっています。
以下のサイトにわかりやすい図が載っています。
Git
別名「分散型バージョン管理システム」。
複数のリポジトリでファイルのバージョンを管理するシステムのこと。
分散型 :複数人が、個々人でローカルリポジトリで編集し、リモートリポジトリにその内容を反映させる方法。
集中型:複数人が、一つのリポジトリに対して、変更を加えていく方法。
GitHub
Gitの仕組みを利用したWebサービスのこと。
複数人で開発を行うときには、GitHubを使います。
よくGitとGitHubの違いで「メールとgmailの関係性」という説明がされています。
個人的には、メールはシステムの名称でgmailというサービスを通して、初めてメールという機能を使用できるのに対して、GitはGitHubというサービスを通さなくても使用できるので、あまり説明に納得がいっていません。
感覚的な理解として、GitHubはGitの機能を拡張し万人に使いやすいようにしているサービスという漠然とした理解を持っています。
また、gitはローカル環境(個々人)での個人でのリポジトリ編集がメインで、githubでは、サーバを通して複数人でのリポジトリ編集がメインと感じます。
参考サイト