diadia

興味があることをやってみる。自分のメモを残しておきます。

git リモート、ブランチ、マージあたりのこと

リモートについて

fetchするリモートやpushするリモートを表示するためには以下のコマンドをつかう。

$ git remote
#リモートリポジトリのurlを表示させる場合には以下
$ git remote -v

リモートリポジトリを追加する場合には以下のコマンドを用いる。

$ git remote [リモートリポジトリ名]

リモートリポジトリからコードを取得する

方法は2種類有る。一つはfetchを使ったあとにmergeする方法。もう一つはpullする方法。基本的にfetchとmergeを使った組み合わせでコードを取得するのが望ましいようだ。なぜならpullの場合は現在編集しているブランチにコードを上書きしてしまう。具体的に言えば、ローカルAブランチのコードをリモートAブランチのコードで更新するのが望ましいのに、ローカルAブランチコードをリモートBブランチのコードで更新してしまうという事が起こりえないからだ。

fetch

$ git fetch [リモート名]
ex. git remote origin

fetchはリモートリポジトリからローカルリポジトリにソースを取ってくるだけらしい。ローカルリポジトリには、以下の場所にコードが保存される。remotes/リモートリポジトリ名/ブランチ名

pull

$ git pull [リモート名] [ブランチ名]
ex. git pull origin master

上記のコマンドは省略する事もできる。

$ git pull

リモートリポジトリの情報表示

git remoteで情報を表示することができたが、以下のコマンドでより詳しく表示させることができる。

$ git remote show [リモートリポジトリ名]
ex. git remote show origin

表示される項目

  • fetch,pushのurl
  • リモートブランチ
  • git pullの挙動
  • git pushの挙動

リモートリポジトリ名の変更とリモートリポジトリの削除

リモートリポジトリ名の変更

$ git remote rename [旧リモート名] [新リモート名]
ex. git remote rename check1 check2

リモートリポジトリの削除

$ git remote rm [リモート名]

ブランチについて

ブランチを新規作成する

$ git branch [ブランチ名]
ex. git branch detail

ブランチを作成するだけではブランチの切り替えまでは行われない。

ブランチの一覧を表示する

$ git branch
git branch -a

-aをつけるとリモートリポジトリまで表示することができるが、つけなければローカルリポジトリのブランチが表示される。