リモート Git リポジトリ | git remote

git remote コマンド

git remote は、他のリポジトリとの接続を作成、確認、名前変更、削除するコマンドである。リモート接続は、他のリポジトリへの直接リンクというよりブックマークに近い。他のリポジトリへリアルタイムにアクセスするものではなく、長い URL の代わりに使える短い名前として機能する。

たとえば、ローカルリポジトリと中央リポジトリの間、さらにローカルリポジトリと別の開発者のリポジトリの間に、2 つのリモート接続を持たせることができる。それらを完全な URL で参照する代わりに、originjohn といった名前のショートカットを他の Git コマンドへ渡せる。

Git チュートリアル: git remote

使い方

git remote

他のリポジトリへのリモート接続を一覧表示する。

git remote -v

上のコマンドと似ているが、各接続の URL も表示する。

git remote add <name> <url>

リモートリポジトリへの新しい接続を作成する。作成後は、他の Git コマンドで <url> の代わりに <name> をショートカットとして使用できる。

git remote rm <name>

<name> という名前のリモートリポジトリ接続を削除する。

git remote rename <old-name> <new-name>

リモート接続の名前を <old-name> から <new-name> へ変更する。

補足説明

Git は、各開発者に独立した開発環境を提供するよう設計されている。そのため、リポジトリ間で情報が自動的に移動することはない。開発者は中央リポジトリのコミットを手動でローカルリポジトリへ取得したり、ローカルコミットを手動で中央リポジトリへ push したりする必要がある。git remote は、そのような共有作業のコマンドへ URL を渡すための便利な方法を提供する。

origin リモートリポジトリ

git clone でリポジトリを clone すると、clone 元のリポジトリを指す origin という名前のリモート接続が自動的に作成される。これは上流から変更を pull したり、ローカルコミットを公開したりする簡単な方法を提供する。Git ベースの多くのプロジェクトでは、中央リポジトリの名前は origin になっている。

リポジトリ URL

Git はリモートリポジトリを参照する多くの方法をサポートしている。リモートリポジトリへアクセスする一般的な方法として、HTTP プロトコルと SSH プロトコルがある。HTTP は、リポジトリへ匿名の読み取り専用アクセスを提供する簡単な方法である。

http://host/path/to/repo.git

ただし、通常は HTTP アドレスへ匿名で push することはできない。読み書きアクセスには SSH を使う。

ssh://user@host/path/to/repo.git

この場合、ホストマシン上に有効な SSH アカウントが必要である。それ以外については、Git は基本的に認証が必要なアクセスをサポートしている。

使用例

origin 以外に、他の開発者のリポジトリへの接続を作っておくと便利な場合が多い。たとえば、同僚の John が dev.example.com/john.git に公開リポジトリを持っている場合、次のように新しい接続を作成する。

git remote add john http://dev.example.com/john.git

個別開発者のリポジトリへこのようにアクセスすることで、中央リポジトリを通さずに共同作業できる。この機能は、大規模プロジェクトで作業する小規模チームに特に便利である。