メインコンテンツまでスキップ

前置き

リモートリポジトリは何のため?

リモートリポジトリの基本機能は「オンラインストレージ」です。まずは、ファイルのシェアや、バックアップのためのものであると理解すると、分かりやすいと思います。

特にチーム開発では、各ユーザーのローカルリポジトリは、リモートリポジトリを介して同期させますので、必須の概念となります。

基軸にするべきはリモートリポジトリ?

チーム開発では、最新のコードをリモートリポジトリに上げて行く特性上、リモートリポジトリが基軸になっていくように感じます。

個人開発では、リモートリポジトリはバックアップに使われることが多く、ローカルリポジトリが基軸になっていると言えます。

実のところ、リモート・ローカルという区別でもなく、チーム全員のPCに置かれているローカルリポジトリ含めすべてのリポジトリが、基軸になり得て、それは運用で決まるというのが本当です。

これは、分散型バージョン管理ツールであるGitの特性であるといえます。

分散型であるということは、すべてのリポジトリが「バックアップ」として働くという意味でもあります。

Gitは間違ったコミットや、ブランチの削除など、ユーザーの誤操作で適切なログを喪失してしまうことが(特に最初のうちは頻繁に)起こり得ますが、誰かのPCにローカルブランチが残っていれば、そこから復旧や再編が可能なわけです。

リモートリポジトリを取り巻く様々な機能

リモートリポジトリは、「オンラインストレージ」であると解説しましたが、実際そこまでシンプルなリモートリポジトリサービスは、あまり存在しません。

今から解説する、「GitHub」もまた、例外ではなく、オンラインストレージ以外の機能、コードレビューやタスク管理など、主にチームコミュニケーションに関する機能が充実しています。