suchen

Heim  >  Fragen und Antworten  >  Hauptteil

github - git checkout -b develop origin develop ?

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

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

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

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

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

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

習慣沉默習慣沉默2799 Tage vor1000

Antworte allen(4)Ich werde antworten

  • 迷茫

    迷茫2017-05-02 09:54:22

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

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

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

    Antwort
    0
  • 漂亮男人

    漂亮男人2017-05-02 09:54:22

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

    Antwort
    0
  • 巴扎黑

    巴扎黑2017-05-02 09:54:22

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

    其实,廖大说的很清楚:

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

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

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

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

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

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

    Antwort
    0
  • 天蓬老师

    天蓬老师2017-05-02 09:54:22

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

    Antwort
    0
  • StornierenAntwort