(1)git checkout -b 本地分支名 origin/遠程分支名 (2)git checkout --track origin/遠程分支名 (這種寫法是上面的簡化版,效果完全一樣) (3)git checkout -t origin/遠程分支名(這種寫法是2的簡化版) (4)fetch指定的一個分支:git fetch [repo] [remote_branch_name]:[local_branch_name] git checkout [local_branch_name] (第一行的:[local_branch_name]如果不寫,則本地新建的分支名默認與遠程分支名相同) (5)git fetch 獲取遠程所有分支 (一般用這個) git branch -r 可以看到所有遠程分支,假設有一個分支叫origin/mybranch git checkout mybranch即可,會在本地新建一個同名分支,並與該遠程分支關聯 (git checkout origin/mybranch 會進入detached head狀態,不會在本地新建分支,不要這樣寫)
將遠程git倉庫里的指定分支拉取到本地(本地不存在的分支)
當我想從遠程倉庫里拉取一條本地不存在的分支時:
git checkout -b 本地分支名 origin/遠程分支名
例如: 切換遠程分支
git checkout -b release origin/release-9.4
一、查看本地已有的分支
進入到項目根目錄,打開命令行/終端,輸入指令,將會顯示該項目的本地的全部分支,其中、當前分支的前面有*號。
git branch
二、本地檢出一個新的分支並推送到遠程倉庫
(一).創建本地分支
git checkout -b 新分支名
執行該指令后,會在本地創建一個新分支,該分支是從當前分支上檢出的,所以所有文件內容都和當前分支一模一樣,這是正常的。創建成功后,將自動切換至新分支上。
比如我要創建一個名為dev1的新分支:
此時,再執行git branch查看當前本地所有分支,就會看到兩個分支:master與dev1.
(二).推送本地分支到遠程倉庫
git push --set-upstream origin 分支名
例如,我要把上一步創建的本地dev1推送到遠程倉庫:
三、將遠程git倉庫里的指定分支拉取到本地(本地不存在的分支)
當我想從遠程倉庫里拉取一條本地不存在的分支時:
git checkout -b 本地分支名 origin/遠程分支名
這個將會自動創建一個新的本地分支,並與指定的遠程分支關聯起來。
例如遠程倉庫里有個分支dev2,我本地沒有該分支,我要把dev2拉到我本地:
若成功,將會在本地創建新分支dev2,並自動切到dev2上。
如果出現提示:
fatal: Cannot update paths and switch to branch 'dev2' at the same time. Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
表示拉取不成功。我們需要先執行
git fetch
然后再執行
git checkout -b 本地分支名 origin/遠程分支名