git学习笔记(十六)--git的远程版本库

1. 关于远程分支:


 

在之前的使用和学习中,我们知道想要将本地的分支推送到远程版本库时,在首次推送时必须指明分支,也就是:

git push origin master      推送master分支到origin版本库

在推送之后,就建立的本地分支和版本库对应分支的关系,下次Push的时候,就可以把该分支本地的更新push到版本库中去了。

   git ls-remote --heads URL  查看远程版本库的所有分支

   git branch -r           查看本地的远程分支

需要注意的是,远程分支不是真正意义上的分支,不能直接针对远程分支进行checkout,必须先建立远程分支对应的本地分支,才能修改。

 

2. 关于分支追踪:


 

当基于远程分支创建了本地分支后,就对远程分支有了追踪能力。可以完成:

(1)git push的时候,会把该分支的更新push到共享版本库中

(2)git pull的时候,会把版本库中该分支对应的更新fetch过来然后Merge

注意一点,基于本地分支创建的分支,没有追踪能力。(一般也不会这么用)

但是可以使用参数--track创建一个本地分支来追踪另外一个本地分支:

  git checkout --track -b hello hello.x

这样helo就可以追踪hello.x的变化了

 

3. 关于远程版本库:


 

一般我们不会只使用一个版本库,可能同时要跟几个版本库进行数据交互。

git非常人性化的一点就是,对于不同的版本库,使用不同的存储路径,这样保证了即使不同版本库有相同的分支名称(比如都有master)也不会造成混乱。

(1)如何注册新的远程版本库:

  git remote add new-remote URL    new-remote是名字,URL是地址

(2)查看已注册版本库的名称:

  git remote -v

(3)获取新的版本库内容:

  git fetch new-remote

(4)更爱远程版本库地址(如果其变动了):

  git remote set-url new-remote URL

(5)更改远程版本库名称:

  git remote rename new-remote new-new-remote

(6)获取远程版本库的更新内容:

  git remote update

(7)删除远程版本库:

  git remote rm new-new-remote

 

4. 关于PUSH和PULL在多个远程版本库下使用:


 

关于PUSH:

  一般情况下,我们要在git push后带上版本库的名字和对应分支的名字进行推送,这样针对性强一些,下面解释一下不带参数的git push的执行过程:

  ① 如果当前分支设置了<remote>,则执行git push 相当于 git push <remote>

  ② 如果当前分支没有设置<remote>,则执行git push相当于git push origin

  ③ 默认对所有在该远程版本库中有对应分支的进行推送操作

关于PULL:

  最好带上版本库名字和对应分支名字,精确一些

    默认git pull也是执行git pull origin,如果设置了<remote>,执行git pull remote

  

5. 关于里程碑和远程版本库:


 

远程版本库中里程碑显式的同步到本地后,并不会向分支那样使用不同的路径来保存,而是保存在一起,这样会造成命名的困扰。

这也是一个有待改进的地方,因此需要在团队合作中,对tag的使用严谨和有意义。

 

 

 

 

posted on 2012-07-31 17:38  melburg  阅读(327)  评论(0)    收藏  举报