問題描述
我們每次使用命令
git clone git@gitlab.xxx.com:xxxxx.git
默認 clone 的是這個倉庫的 master 分支。如果最新的代碼不在 master 分支上,該如何拿到呢?如下圖所示,最新的代碼可能在daily/1.4.1分支上,我們希望拿到這個分支上的代碼。

解決方法
直接使用命令
git branch -r #查看遠程分支
或
git branch -a #查看所有分支
會顯示
origin/HEAD -> origin/master origin/daily/1.2.2 origin/daily/1.3.0 origin/daily/1.4.1 origin/develop origin/feature/daily-1.0.0 origin/master
然后直接
git checkout origin/daily/1.4.1
就好了。。。
git clone 默認會把遠程倉庫整個給clone下來;
但只會在本地默認創建一個master分支
可以使用checkout命令來把遠程分支取到本地
或者使用-t參數,它默認會在本地建立一個和遠程分支名字一樣的分支
折疊展開復制代碼
$ git checkout -t origin/daily/1.4.1
也可以使用fetch來做:
$ git fetch origin python_mail.skin:python_mail.skin
不過通過fetch命令來建立的本地分支不是一個track branch,而且成功后不會自動切換到該分支上- z) t: R4 p- s6 _2 d3 a
注意:不要在本地采用如下方法:
- $ git branch python_mail.skin
- $ git checkout python_mail.skin
- $ git pull origin python_mail.skin:python_mail.skin
因為,這樣建立的branch是以master為基礎建立的,再pull下來的話,會和master的內容進行合並,有可能會發生沖突...
