Gitについてざっと覚え書き
用語
Repository(リポジトリ)
ファイルや変更履歴を管理する場所のこと。
Local repository(ローカルリポジトリ)
その名の通りローカル(自分の端末)にあるリポジトリのこと。
Remote repository(リモートポジトリ)
サーバ上にあるリポジトリのこと。
Commit(コミット)
ファイルをローカルリポジトリへ反映させること。
Push(プッシュ)
ファイルをローカルリポジトリからリモートリポジトリへ反映させること。
Pull(プル)
リモートリポジトリからローカルリポジトリへ反映させること。
分散型バージョン管理システム
git(ギット[2][3][4])は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。Linuxカーネルのような巨大プロジェクトにも対応できるように、動作速度に重点が置かれている。現在のメンテナンスは濱野純 (Junio C Hamano) が担当している。
gitでは、各ユーザのワーキングディレクトリに、全履歴を含んだリポジトリの完全な複製が作られる。したがって、ネットワークにアクセスできないなどの理由で中心リポジトリにアクセスできない環境でも、履歴の調査や変更の記録といったほとんどの作業を行うことができる。これが「分散型」と呼ばれる理由である。
引用元:Wikipedia
分散型と集中型
分散型
ローカルリポジトリ(リモートのクローン)とリモートリポジトリでファイル管理。
サーバにアクセスしないため動作が軽い。オフライン利用可。
それぞれがローカルリポジトリで管理しているため、リモートリポジトリ(サーバ)に障害が発生してもファイルが損壊、消失しない。安全。
集中型
リモートリポジトリのみでファイルを管理(ローカルリポジトリを介さない)。
構造が簡単。ファイル管理がサーバに依存しているためオンラインでしか使えない。
何が幸せ?
以下の課題を解決できます
- 最新のファイルどれ
- 誰が更新かけた
- どんな更新かけた
GitHub
Gitのリモートリポジトリに当たるもに開発サポート機能をつけたWebサービス。
ソースが無料で公開されている。いろんな人のソースを見て勉強するもよし、自分のソースをアップし公開するもよし。
エンジニアとして成長するために是非とも有効活用したいサービス。
参考