Git 如何 clone 非 master 分支的代碼


 

 

問題描述

我們每次使用命令

git clone git@gitlab.xxx.com:xxxxx.git

默認 clone 的是這個倉庫的 master 分支。如果最新的代碼不在 master 分支上,該如何拿到呢?如下圖所示,最新的代碼可能在daily/1.4.1分支上,我們希望拿到這個分支上的代碼。

7f07c8f6deef169ef6be5103bbd3e932f8676bb1.png

解決方法

直接使用命令

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
注意:不要在本地采用如下方法:

  1. $ git branch python_mail.skin
  2. $ git checkout python_mail.skin
  3. $ git pull origin python_mail.skin:python_mail.skin

因為,這樣建立的branch是以master為基礎建立的,再pull下來的話,會和master的內容進行合並,有可能會發生沖突... 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM