Git:远程分支、远程版本库

来源:互联网 发布:wav无损播放软件 编辑:程序博客网 时间:2024/06/11 12:34
远程分支:
    git show-ref 输出所有的本地引用,有些引用以refs/remotes/origin/为前缀,这些名称和远程版本库的分支名一一对应,这些引用是.
从远程版本库的分支复制过来的,称为远程分支。git branch -r 也可查看这些远程分支。
    远程分支不是真正意义上的分支,是类似于里程碑一样的引用。对远程分支检出会出错。如果对远程分支进行修改就需要创建新的本地分支。
    为了能够在远程分支refs/remotes/origin/hello-1.x上进行工作,需要基于该远程分支创建本地分支,远程分支可使用简写origin/hello-1.x,
原因详见.git/config配置文件。
    同时完成分支的创建和切换:git checkout hello-1.x    #和远程分支建立了跟踪
    根据本地分支创建另一个本地分支没有分支跟踪的功能: git checkout -b hello-jx hello-1.x
     git checkout --track -b hello-jx hello-1.x 可以使用跟踪功能。
远程版本库:
    名为origin的远程版本库是在版本库克隆时注册的,那么如何注册新的远程版本库呢?
#上面直接执行fetch不会从新注册的远程版本库中获取,因为当前分支设置的默认远程版本库为origin.
git branch -r 可以看到新增了几个远程分支
更改远程版本库的地址:
    三种方法:修改.git/config文件;用git config命令进行更改;用git remote命令
eg: remote set-url new-remote file:///demo/hello-world2.git
    查看远程版本库:git remote -v 发现每一个远程版本库都显示两个URL地址,分别是执行git fetch和git push时用到的URL地址。
    为推送操作设置单独的URL地址: git remote set-url --push new-remote /demo/hello-user2.git
更改远程版本库的名称:
    git remote rename new-remote user2
    改名后,不但远程版本库的注册名称更改过来了,就连远程分支的名称都会自动进行相应更改,可用git remote  git branch -r查看。
远程版本库更新:
    当注册了多个远程版本库并希望获取所有远程版本库的更新时,Git提供了一个简单的命令: git remote update
    当某个远程版本库不想在update时更新,可以关闭: git config remote.user2.skipDefaultUpdate true
删除远程版本库:
    git remote rm user2
里程碑和远程版本库:
    Note:远程版本库中的里程碑同步到本地版本库会使用同样的名称,而不会像分支那样移动到另外的命名空间(远程分支)中。执行git push时,
默认不会将本地创建的里程碑带入远程版本库,但执行git fetch从远程版本库获取分支的最新提交时,若提交上有里程碑会获取到本地版本库。当删除
注册的远程版本库时,远程分支会被删除,但是里程碑不会删除。
    不获取里程碑只获取分支及提交: git fetch --no-tags file:///path/to/repos/hello-world.git \
                                                  refs/heads/*:refs/remotes/hello-world/*
    注册远程版本库时不引入本地版本库: git remote add --no-tags hello-world \
                                                      file:///path/to/repos/hello-world.git
                                             
0 0
原创粉丝点击