私の使うGitコマンドまとめ リモート編

今回はリモートリポジトリを操作するコマンドをまとめます。

リモートリポジトリの操作は同じような操作をする際にもローカルリポジトリとは異なっていたり、お作法としてしてはいけないこともあります。
そういう点は気をつけて使ってみましょう。

git clone (リポジトリの複製を行う)

リポジトリの複製を行います。
それだけです。

--bare

git init で説明したbareリポジトリとしてリポジトリを複製します。

git remote (リモートリポジトリを見る)

登録されたリモートリポジトリを見たりする際に使います。
もっと詳しく見たい場合は後述のオプション -v をつけます。

add

リモートリポジトリをローカルリポジトリに登録します。

git remote add <名前> <リモートのurl>

で名前をつけて登録できます。登録すると、それ以降その名前でリモートリポジトリを指定できます。

rm

間違えて登録した、また不要になったリモートリポジトリの登録を削除します。

git remote rm <名前> 

でできます。

rename

登録されているリモートリポジトリにつけた名前を変更する際に使います。

git remote rename <元の名前> <新しい名前>
-v

リモートリポジトリにつけた名前とURLの一覧が表示されます。

git push (リモートリポジトリに送信する)

リモートリポジトリにローカルリポジトリで行ったコミット、タグ、ブランチの変更を取り込ませるコマンドです。

まず新規のブランチをリモートリポジトリに送信する場合は

git push <リモートのurl> <ブランチ名>

でできます。ブランチ名を異なるものにするためには

git push <リモートのurl> <送信するブランチ名>:<送信先でのブランチ名>

となります。

既にリモートに存在するブランチにリモートにないコミットを送信するときは上記と同じコマンドで可能です。

またローカルリポジトリのタグをリモートに送信するためには

git push <リモートのurl> <タグ名>

で可能です。

-u

最近のGitでは、pushとともにブランチを追跡するようにできます。
いつものコミットやブランチの送信に、-u のオプションをつけることで可能です。

git pull (リモートリポジトリの変更を取り込む)

ローカルリポジトリにリモートリポジトリの変更を取り込むときに使います。

後述の git fetch を行った後に、git merge を行うことと同じです。
つまり、リモートリポジトリとローカルリポジトリをローカルリポジトリ上でマージします。

--rebase

このオプションをつけることで、マージではなく、リベースによって統合します。
pullをする際にはこちらの方が良いとされます。

git fetch (リモートリポジトリの変更を取得する)

ローカルリポジトリのブランチには変更を加えずに、リモートリポジトリの変更を取得します。