廖雪峰老師老師的git教學上這樣說:
但為什麼我操作了之後會變成下面這樣呢?
另外對這句指令不太理解,請問廖老師的意思是下面哪一個?或者兩種都不是?
1.遠端已經存在dev分支,這句指令的意思是,在本地建立 dev 分支並將遠端 dev 分支的內容 clone 到本地? ? ?
2.遠端還沒有 dev 分支,這句指令的意思是,在本地及遠端同時建立 dev 分支???
剛學習git的小白,請大神賜教
dev 前面 有origin 分支全名是origin/dev
dev
origin
origin/dev
顧名思義就是遠端的dev分支,checkout -b就是新建分支,後面跟的是新建的分支名稱。
checkout -b
git checkout --help就可以看到基本資訊
git checkout --help
前者,遠端如果不存在這個分支是不會創建的,可以去實踐一下
首先,你列出的兩個猜測都不是很對。
其實,廖大說的很清楚:
就必須建立遠端origin的dev分支到本地
所以你使用那條指令的前提就是遠端已存在dev分支。
而那條命令的功能也很簡單,就是在建立一個跟踪遠程分支的本地分支,即先在本地建一個分支,然後為它設置要跟踪的遠程分支,並沒有樓主所說的那些多餘的操作。
其次呢,我覺得讓樓主產生疑惑的是本地出現的這些分支:
這些分支是你和遠端進行同步(git push, git fetch, git pull)等操作之後出現的分支,它們就相當於遠端分支的引用,通俗的講,這些位於本地的引用就可以表示遠程分支。
而樓主所說的那條指令git checkout -b develop origin develop的操作就是基於這些引用的,所以即使你的電腦目前處於離線狀態(未連接網路),也是可以正常運作的。原因很簡單,這個指令所操作的只是遠端分支的引用,而這些引用位於本地。
git checkout -b develop origin develop
首先,你的命令git checkout -b develop origin develop是错误的,因此才会报这样的错误,注意origin和develop之间是要有/的。因此,正确的命令是git checkout -b develop origin/develop我对该命令的理解是:本地新建一个分支develop,并切换到新建的分支develop,并且建立develop与远程分支origin/develop的跟踪关系。查看本地分支的跟踪分支(上游分支)命令:git branch -vv。
/
git checkout -b develop origin/develop
git branch -vv
dev
前面 有origin
分支全名是origin/dev
顧名思義就是遠端的
dev
分支,checkout -b
就是新建分支,後面跟的是新建的分支名稱。git checkout --help
就可以看到基本資訊前者,遠端如果不存在這個分支是不會創建的,可以去實踐一下
首先,你列出的兩個猜測都不是很對。
其實,廖大說的很清楚:
所以你使用那條指令的前提就是遠端已存在dev分支。
而那條命令的功能也很簡單,就是在建立一個跟踪遠程分支的本地分支,即先在本地建一個分支,然後為它設置要跟踪的遠程分支,並沒有樓主所說的那些多餘的操作。
其次呢,我覺得讓樓主產生疑惑的是本地出現的這些分支:
這些分支是你和遠端進行同步(git push, git fetch, git pull)等操作之後出現的分支,它們就相當於遠端分支的引用,通俗的講,這些位於本地的引用就可以表示遠程分支。
而樓主所說的那條指令
git checkout -b develop origin develop
的操作就是基於這些引用的,所以即使你的電腦目前處於離線狀態(未連接網路),也是可以正常運作的。原因很簡單,這個指令所操作的只是遠端分支的引用,而這些引用位於本地。首先,你的命令
git checkout -b develop origin develop
是错误的,因此才会报这样的错误,注意origin和develop之间是要有/
的。因此,正确的命令是git checkout -b develop origin/develop
我对该命令的理解是:本地新建一个分支develop,并切换到新建的分支develop,并且建立develop与远程分支origin/develop的跟踪关系。查看本地分支的跟踪分支(上游分支)命令:
git branch -vv
。