github - git checkout -b 开发 origin 开发 ?
習慣沉默
習慣沉默 2017-05-02 09:52:22
0
4
989

廖雪峰老师老师的git教程上这样说:

但为什么我操作了之后会变成下面这样呢?

另外对这句命令不太理解,请问廖老师的意思是下面是下面哪一个?或者两种都不是?

1.远程已经存在dev分支,这句命令的意思是,在本地创建 dev 分支并将远程 dev 分支的内容 clone 到本地???

2.远程还没有 dev 分支,这句命令的意思是,在本地及远程同时创建 dev 分支???

刚刚学习git的小白,请大神赐教

習慣沉默
習慣沉默

全部回复(4)
迷茫

dev 前面 有origin 分支全名是origin/dev

顾名思义就是远端的dev分支,checkout -b就是新建分支,后面跟的是新建的分支名称。

git checkout --help就可以看到基本信息

漂亮男人

前者,远端如果不存在这个分支是不会创建的,可以去实践一下

巴扎黑

首先,你列出的两个猜测都不是很对。

其实,廖大说的很清楚:

就必须建立远程origin的dev分支到本地

所以你使用那条命令的前提就是远程已存在dev分支

而那条命令的功能也很简单,就是在建立一个跟踪远程分支的本地分支,即先在本地建一个分支,然后为它设置要跟踪的远程分支,并没有楼主所说的那些多余的操作。

其次呢,我觉得让楼主产生疑惑的是本地出现的这些分支:

这些分支是你和远程进行同步(git push, git fetch, git pull)等操作之后出现的分支,它们就相当于远程分支的引用,通俗的讲,这些位于本地的引用就可以表示远程分支。

而楼主所说的那条命令git checkout -b develop origin develop的操作就是基于这些引用的,所以即使你的电脑目前处于离线状态(未连接网络),也是可以正常工作的。原因很简单,这个命令所操作的只是远程分支的引用,而这些引用位于本地。

Peter_Zhu

首先,你的命令git checkout -b develop origin develop是错误的,因此才会报这样的错误,注意origin和develop之间是要有/的。因此,正确的命令是git checkout -b develop origin/develop
我对该命令的理解是:本地新建一个分支develop,并切换到新建的分支develop,并且建立develop与远程分支origin/develop的跟踪关系。查看本地分支的跟踪分支(上游分支)命令:git branch -vv

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板