Git の Remote コマンドの使い方


リモートレポジトリの URL を管理するコマンド git remote の使い方を紹介します.

git remote はそのままでは人間にとって使いづらい, 覚えにくいリモートレポジトリの URL を人間が覚えやすいような名前と紐づけたり, 紐付けた名前を削除したりとリモートレポジトリの URL を管理するコマンドです.

紐づけた名前は git fetch, git pull, git push などのコマンドで使うことができます.

git remote の基本的な構文は次のようになります:

git remote [<subcommand>] [options] [arguments]

それぞれのコマンドの使い方を紹介していきたいと思います:

git remote

<subcommand> を指定しないで, git remote だけ入力すると現在登録されているリモートの一覧を表示します:

$ git remote
origin

-v オプションを付けると, リモートの名前に加えて Fetch URL と Push URL も表示します:

$ git remote -v
origin  git@github.com:<username>/<repo-name>.git (fetch)
origin  git@github.com:<username>/<repo-name>.git (push)

git remote add

リモートレポジトリの URL <url> を任意の名前 <name> と紐付けます:

git remote add <name> <url>

GitHub の任意のレポジトリを origin という名前で紐づける場合, 次のようになります:

git remote add origin git@github.com:<username>/<repo-name>.git

git remote remove

リモート <name> を削除します:

git remote remove <name>

リモート origin を削除する場合, 次のようになります:

git remote remove origin

git remote rename

リモート <old> を別の名前 <new> に変更します:

git remote rename <old> <new>

branch1 という名前のリモートを branch2 という名前に変更する場合, 次のようになります:

git remote rename branch1 branch2

git remote get-url

リモート <name> の Fetch URL を表示します:

git remote get-url <name>

--push オプションを付けると Fetch URL の代わりに Push URL を表示します:

git remote get-url --push <name>

--all オプションで Fetch URL と Push URL の両方を表示します:

git remote get-url --all <name>

Fetch URL と Push URL が同じ場合, 一つにまとめられて表示されます.

git remote show

リモート <name> に関する詳細な情報を表示します:

git remote show <name>

一例として origin に関する情報は次のようなものになります:

$ git remote show origin
* remote origin
  Fetch URL: git@github.com:<username>/<repo-name>.git
  Push  URL: git@github.com:<username>/<repo-name>.git
  HEAD branch: master
  Remote branches:
    master   tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (up to date)

GitHub から git clone で自分のリモートレポジトリをクローンすると, このような情報が表示されます.

まとめ

git remote はリモートレポジトリの URL を任意の名前に紐付けたり, 紐づけた名前を削除したり, 紐づけた名前を別の名前に変更したり, 紐づけた名前に関する情報を表示したりします.

Git を使うときは何かとお世話になるコマンドなので, このような使い方を知っていると何かと役に立つと思います.

より詳しい情報は man git-remote で見ることができます.

簡潔にまとめられた情報は git remote -h で, サブコマンドで使えるオプションに関しては git remote <subcommand> -h でそれぞれ見ることができます.