git push 使い方
リモートリポジトリを更新する
リモートリポジトリとローカルのどのブランチをリモートのどのブランチに送信するかを指定して
git push REPOSITORY LOCAL_BRANCH:REMOTE_BRANCH
とする。リモートリポジトリ REPOSITORY は
git remote
から探す。
git clone で作成されたリポジトリである場合、 デフォルトとして 送り先のリポジトリは git clone の元のリポジトリ、 送信するブランチはローカルとリモートのリポジトリの両方で 共有しているブランチ全てになっているので 次のように省略できる。
git push
リモートリポジトリにタグを送る
git push --tags <repository> <refspec>
リモートのブランチを削除する
リモートリポジトリ origin の some_branch というリモートにあるブランチを削除するには ローカルのリポジトリに何も指定しなければ良い。
git push origin :some_branch
ローカルのコミットを強制的に送信する
普通は行ってはいけないので注意。 実行しても問題ないのは公開していない個人用のリモートリポジトリに対してくらい。
リモートのコミットがローカルのコミットの祖先でない場合は リモートへの送信が拒否される。 これを無効にするには「-f」または「–force」オプションをつける。
git push -f
このとき、リモートリポジトリのコミットが失われる可能性がある。
実際にはリモートリポジトリを更新しないで git push の動作を確認する
git push を実行したときの変更を確認だけして、 実際には実行しない (dry run) ようにするには -n オプションをつける。 たとえば
git push -n REP LOCAL:REMOTE
のようにする。
参考
- man git-push
- http://progit.org/book/ja/ch3-5.html