关于git文档[远程分支]的一些学习

origin和master

远程仓库名字origin与分支名字master一样,在Git中没有任何特别的含义
同时master是当你运行git init时默认的起始分支名字,原因仅仅是它的广泛使用,origin是当你运行git clone时默认的远程仓库名字

git clone

在这里插入图片描述
假设你的网络里有一个在 git.ourcompany.com 的 Git 服务器
如果你从这里克隆,Git的clone命令会为你自动将其命名为origin,拉取它的所有数据, 创建一个指向它的master分支的指针,并且在本地将其命名为 origin/master
Git也会给你一个与 origin/master 指向同一个地方的本地master分支,这样你就有工作的基础
thegit clonecommand automatically sets up your local master branch to track the remote master branch

origin/master

在这里插入图片描述
如果你在本地的 master 分支做了一些工作,在同一段时间内有其他人推送提交到 git.ourcompany.com 并更新了它的 master 分支,这就是说你们的提交历史已走向不同的方向。 即便这样,只要你保持不与 origin 服务器连接(并拉取数据),你的 origin/master 指针就不会移动
在这里插入图片描述
git fetch <remote>命令(本例中为git fetch origin)。 这个命令查找 origin 是哪一个服务器(本例中,它是 git.ourcompany.com),从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针到更新之后的位置
git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。 它只会获取数据然后让你自己合并

删除远程分支

假设你已经通过远程分支做完所有的工作了,也就是说你和你的协作者已经完成了一个特性, 并且将其合并到了远程仓库的master分支(或任何其他稳定代码分支)。
可以运行带有 --delete 选项的 git push 命令来删除一个远程分支。 如果想要从服务器上删除 serverfix 分支,运行下面的命令

git push origin --delete serverfix

基本上这个命令做的只是从服务器上移除这个指针。Git 服务器通常会保留数据一段时间直到垃圾回收运行,所以如果不小心删除掉了,通常是很容易恢复的

跟踪分支

跟踪分支是与远程分支有直接关系的本地分支
当克隆一个仓库时,它通常会自动创建一个跟踪origin/mastermaster分支
要注意的是当抓取到新的远程分支时,本地不会自动生成一份可编辑的副本(拷贝)
换句话说,这种情况下,不会有一个新的serverfix分支,只有一个不可修改的origin/serverfix指针
可以运行git merge origin/serverfix将这些工作合并到当前所在分支
如果想要在自己的serverfix分支上工作,可以将其建立在远程分支之上:
有三种方式都可以

$ git checkout -b serverfix origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

$ git checkout --track origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

$ git checkout serverfix
Branch serverfix set up to track remote branch serverfix from origin.
Switched to a new branch 'serverfix'

这会给你一个用于工作的本地分支,并且起点位于origin/serverfix
设置已有的本地分支跟踪一个刚刚拉取下来的远程分支,或者想要修改正在跟踪的上游分支
你可以在任意时间使用 -u--set-upstream-to 选项运行 git branch 来显式地设置

$ git branch -u origin/serverfix
Branch serverfix set up to track remote branch serverfix from origin.

如果想查看设置的所有跟踪分支,可以使用git branch-vv 选项
这会将所有的本地分支列出来并且包含更多的信息,如每个分支正在跟踪哪个远程分支与本地分支是否是领先、落后或是都有
https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E8%BF%9C%E7%A8%8B%E5%88%86%E6%94%AF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值