リモート操作
- 既存のリモートリポジトリを複製したい
- リモートリポジトリを追加したい
- リモートリポジトリの一覧を表示したい
- リモートリポジトリのブランチからローカルリポジトリのブランチを作成したい
- リモートリポジトリにブランチを作成したい / ブランチに変更内容を反映したい
- リモートリポジトリのブランチの変更内容を確認したい
- リモートリポジトリのブランチの変更内容を取り込みたい
- リモートリポジトリのブランチを削除したい
- リモートリポジトリにタグを作成したい
- リモートリポジトリのタグを削除したい
- 登録済みのリモートリポジトリのアドレスを変更したい
- 登録済みのリモートリポジトリの名前を変更したい
$ git clone <url>
clone コマンドで複製した場合、リモートリポジトリを追跡するように自動で設定されます。 これによって、以降の push や fetch / pull コマンドで repository を省略した場合でも正しく変更内容を反映/取得することができるようになります。
入門編 【リポジトリの共有】 リモートリポジトリをクローンする 入門編 【チュートリアル2 リポジトリの共有】 リモートリポジトリをクローンする
$ git remote add <name> <url>
$ git remote
-v オプションを付けると、リモートリポジトリの詳細を表示することができます。
$ git checkout <branch>
Gitの最近のバージョンだと、 checkout コマンドの引数にリモートリポジトリに存在するブランチを指定すると、リモートリポジトリのブランチからローカルリポジトリ上にブランチを作成することができます。 バージョンが古いために作成できなかった場合は、下記のように branch コマンドでブランチを作成してください。
$ git branch <branchname> origin/<branch>
$ git push <repository> <refspec>
-u オプションを付けると、対象のブランチをリモートリポジトリに追跡させることができます。 これによって、以降の push や fetch / pull コマンドで repository を省略した場合でも正しく変更内容を反映/取得することができるようになります。
repository には、 remote add コマンドで追加したリポジトリ名のほかにもURLを直接指定することもできます。 repository を省略すると、追跡しているリモートリポジトリが指定されたものとされます。
refspec にはブランチ名などが指定できます。 refspec を省略すると、デフォルトではリモートリポジトリとローカルリポジトリの双方に存在するブランチが対象となります。
入門編 【リポジトリの共有】 リモートリポジトリにプッシュする 入門編 【チュートリアル2 リポジトリの共有】 リモートリポジトリにプッシュする
$ git fetch <repository> <refspec>
リモートリポジトリでの変更内容を確認したいけど、ローカルリポジトリには反映させたくない場合に、 fetch コマンドを使います。 fetch コマンドでは、ローカルリポジトリのブランチは変更されません。
repository や refspec は省略することができます。 repository を省略した場合の挙動は、 push のときと同様です。 refspec を省略すると、デフォルトでは全てのブランチが対象となります。
$ git pull <repository> <refspec>
pull コマンドによって、リモートリポジトリの変更内容がローカルリポジトリのブランチに反映されます。 「pull = fetch + merge」と理解しておけばいいでしょう。
repository や refspec は省略することができます。 repository を省略した場合の挙動は、 push のときと同様です。 refspec を省略すると、現在のブランチが対象となります。
入門編 【リポジトリの共有】 リモートリポジトリからプルする 入門編 【チュートリアル2 リポジトリの共有】 リモートリポジトリからプルする
$ git push --delete <repository> <branchname>
push コマンドに --delete オプションと <リモートリポジトリ名> <削除したいブランチ名> を指定して実行します。
1.7より前のバージョンの git では --delete オプションは使用できないため以下のように指定します。
$ git push <repository> :<branchname>
$ git push <repository> <tagname>
–tags オプションを付けると、ローカルリポジトリに存在する全てのタグをリモートリポジトリに作成することができます。
$ git push --delete <repository> <tagname>
push コマンドに --delete オプションと <リモートリポジトリ名> <削除したいタグ名> を指定して実行します。
1.7より前のバージョンの git では --delete オプションは使用できないため以下のように指定します。
$ git push <repository> :<tagname>
$ git remote set-url <name> <newurl>
指定した名前で登録されているリモートリポジトリのアドレスを <newurl> のアドレスに変更します。
$ git remote rename <old> <new>
<old> で指定した名前で登録されているリモートリポジトリの名前を <new> に変更します。