はじめ
最近、gitのドキュメントを読んでいます。
今後の復習のため、ポイントをメモしました。
案件によくあったことなので、コマンドをまとめました。
2.5 リモートで作業
リモートの表示
今までに設定したリモートハンドルの名前を一覧表示する。↓
$ git remote
リポジトリをクローンしたのなら、originという名前が見える。
origin->クローン元のサーバーに対してGitがデフォルトでつける名前です
リモートハンドルの名前に対応するURLを書き込み用と読み取り用の2つ表示する。↓
$ git remote -v
複数のリモートを設定している場合は、全て表示する。
リモートリポジトリの追加
新しいリモートGitリポジトリにアクセスしやすいような名前をつけて追加する。↓
$ git remote add <shortname> <url>
自分のリポジトリにまだ存在しないものを全て取得する。↓
$ git fetch <shortname>
リモートからのフェッチ、そしてプル
データをリモートリポジトリから取得する。↓
リモートプロジェクトの全てのデータの中からまだ、持っていないものを引き出す。
実行後は、リポジトリにあるすべてのブランチを参照できるようになる。
$ git fetch [remote-name]
リポジトリをクローンしたときには、リモートリポジトリに対して自動的に"origin"という名前が付けられる。
注意点: git fetchコマンドはデータをローカルリポジトリに引き出すだけだということです。ローカルの環境にマージされたり作業中の内容を書き換えたりすることはない。したがって、必要に応じて自分でマージをする必要がある。
リモートへのプッシュ
プロジェクトを上流にプッシュする。↓
$ git push [remote-name] [branch-name]
注意点:
下記のコマンドが動作するのは、自分が書き込みアクセス権を持つサーバーからクローンし、かつその後誰もそのサーバーにプッシュしていない場合のみです。
→あなた以外の誰かが同じサーバーからクローンし、誰かが上流にプッシュした後で自分がプッシュしようとすると、それは拒否されます。 拒否された場合は、まず誰かがプッシュした作業内容を引き出してきてローカル環境で調整してからでないとプッシュできません。
$ git push origin master
リモートの調査
特定のリモートの情報をより詳しく知りたい場合。↓
$ git remote show [remote-name]
確認できる情報:
- リモートリポジトリのURL
- 追跡対象になっているブランチの情報
リモートの削除・リネーム
リモートを参照する名前を変更したい場合。↓
$ git remote rename [old-name] [new-name]
リモートを削除したい場合。↓
$ git remote rm [remote-name]