2012年12月10日月曜日

remote repository master以外のbranchからのmerge

備忘録

remoteの設定。
$ git remote add foo  <remote_repository>
remote_repositoryはdirectoryやssh:directoyなど。

remoteの確認。
$ git remote
foo
origin

更新をもらってくる。
$ git fetch foo

remote: Counting objects: 13, done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 8 (delta 5), reused 3 (delta 0)
Unpacking objects: 100% (8/8), done.
From /home/foo/public/project
 * [new branch]      foo -> foo/branchA
 * [new branch]      master     -> foo/master


$ git fetch <remote repository>
ではmasterしかもらってこないのでremote addが必要。

全てのbranchは?
$ git branch -a
* master
  remotes/foo/branchA
  remotes/foo/master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

masterへ remotes/foo/branchAをmergeする。
$ git merge remotes/foo/branchA
Updating d4e2f0c..7fd7b92
Fast-forward
fileA |    9 +++++++++
fileB   |    9 +++++++++
fileC                  |    9 +++++++--
fileD                   |    6 +++---
fileE            |    8 ++++++--
 5 files changed, 34 insertions(+), 7 deletions(-)

などとでる。merge完了。上の表示はblogに載せるために削ったので表示は変。

remote/fooはどう消す?表示を消すには
$ git remote rm foo
cacheは残るが、そのうち消える。