さて、「はじめに」で少し触れたリモートリポジトリですが、皆さんはどんなイメージを持っていますか?「リモート」という言葉から、何となく「遠くにあるもの」という感じは掴めるかもしれませんね。そう、その通り!リモートリポジトリとは、皆さんのパソコンの中にあるローカルリポジトリとは違い、インターネット上のサーバーに配置されたリポジトリのことです。
1. ローカルリポジトリとリモートリポジトリの違い
まずは、ローカルリポジトリとリモートリポジトリの違いを、しっかり理解しておきましょう。
前回の「Git超入門」で学んだように、ローカルリポジトリは皆さんのパソコンの中に作成するリポジトリでしたね。git init
コマンドで初期化したり、git add
やgit commit
で変更を記録したり、git branch
でブランチを切ったり...これらの操作はすべて、皆さんのパソコンの中で完結していました。
一方、リモートリポジトリは、インターネット上に存在する、言わば「みんなで共有できるリポジトリ」です。GitHub や GitLab などの専用のサーバー(Git ホスティングサービス)に配置され、世界中のどこからでもアクセスできます。
例えるなら、ローカルリポジトリは「自分の手帳」、リモートリポジトリは「共有のホワイトボード」のようなものです。自分の手帳に予定を書き込むように、ローカルリポジトリに変更を記録します。そして、共有のホワイトボードに情報を書き込むように、リモートリポジトリに変更を公開します。
2. なぜリモートリポジトリが必要なの?
「ローカルリポジトリだけでも十分便利なのに、なぜリモートリポジトリが必要なの?」と思う方もいるかもしれませんね。確かに、一人で開発する場合は、ローカルリポジトリだけでも事足りるかもしれません。しかし、リモートリポジトリには、ローカルリポジトリだけでは実現できない、以下のような大きなメリットがあるのです!
2.1 バックアップとして
もし、あなたのパソコンが突然壊れてしまったら...?ローカルリポジトリだけに頼っていると、せっかくの作業内容がすべて消えてしまいます。考えただけでも恐ろしいですよね?
しかし、リモートリポジトリにコードを保存しておけば、そんな心配は無用です!リモートリポジトリは、いわばクラウド上のバックアップ。パソコンが壊れても、データは安全に保管されています。新しいパソコンにリポジトリをクローンすれば、すぐに作業を再開できます。
2.2 複数人での共同作業を円滑にするため
リモートリポジトリの最大のメリットは、複数人での共同作業を円滑にすることです。
ローカルリポジトリだけでは、他の人とコードを共有するのは大変です。USB メモリでファイルをやり取りしたり、メールに添付したり...考えただけで面倒ですよね?しかも、誰がどのファイルを編集しているのか把握するのが難しく、同じファイルを同時に編集してしまって、混乱を招くことも...。
しかし、リモートリポジトリがあれば、そんな問題は一発で解決!全員が同じリモートリポジトリにアクセスし、最新のコードを共有できます。誰がどのファイルを編集しているのかも一目瞭然。チーム開発の効率が格段にアップします!
2.3 自分の作業を世界に公開するため
リモートリポジトリを使えば、自分のコードを世界中に公開することができます。これは、オープンソースプロジェクトへの参加はもちろん、自分のスキルをアピールするポートフォリオとしても非常に有効です。
例えば、あなたが素晴らしいライブラリを開発したとしましょう。ローカルリポジトリに眠らせておくだけでは、誰もその存在を知ることはできません。しかし、GitHub などのリモートリポジトリに公開すれば、世界中の開発者があなたのライブラリを利用したり、フィードバックをくれたりするかもしれません。そこから新たな発見や、予期せぬコラボレーションが生まれる可能性も!
3. 代表的な Git ホスティングサービス
リモートリポジトリを利用するには、Git ホスティングサービスを利用するのが一般的です。ここでは、代表的なサービスをいくつか紹介します。
3.1 GitHub
GitHub(ギットハブ) は、世界で最も有名な Git ホスティングサービスです。多くのオープンソースプロジェクトが GitHub で管理されており、開発者にとっての「SNS」のような存在とも言えるでしょう。無料プランでも、プライベートリポジトリ(非公開)とパブリックリポジトリ(公開)を無制限に作成できます。
3.2 GitLab
GitLab(ギットラボ) は、GitHub と同様に高機能な Git ホスティングサービスです。オンプレミス版(自分でサーバーを立てて運用するタイプ)も提供されているのが特徴で、セキュリティを重視する企業などでよく利用されています。
3.3 Bitbucket
Bitbucket(ビットバケット) は、Atlassian 社が提供する Git ホスティングサービスです。同じ Atlassian 社の課題管理ツールである Jira との連携が強力で、開発プロセス全体を効率化したい場合に適しています。
これらのサービスは、それぞれに特徴がありますが、基本的な機能は共通しています。まずは、ユーザー数の多い GitHub から使い始めるのがオススメです!