git clone指定分支
技術背景
Git是程式碼版本最常用的管理工具,此前也寫過一篇介紹Git的基本使用的部落格,而本文介紹一個可能在特定場景下能夠用到的功能--直接拉取指定分支的內容。
Git Clone
首先看一下如果我們按照常規的操作去拉取一個Gitee的程式碼倉,是什麼樣的效果:
$ git clone https://gitee.com/mindspore/mindscience.git 正克隆到 'mindscience'... remote: Enumerating objects: 2884, done. remote: Counting objects: 100% (97/97), done. remote: Compressing objects: 100% (83/83), done. remote: Total 2884 (delta 21), reused 46 (delta 9), pack-reused 2787 接收物件中: 100% (2884/2884), 21.49 MiB | 1.59 MiB/s, 完成. 處理 delta 中: 100% (1454/1454), 完成. $ cd mindscience/ $ git branch * master
拉取了倉庫之後,我們發現預設是把master分支給拉取了下來,此時如果要切換到線上的另一個分支dev-md,就需要在本地用git checkout -b
新建一個分支,然後在git pull
遠端的dev-md分支。而且之後要push的時候,還需要用set_upstream對齊等等。這樣的操作是比較麻煩的,特別是有時我們就只需要其中某一個特定的分支,那我們就可以按照下面的步驟來進行,在clone時就加上-b branch_name
的操作,就可以指定分支進行拉取:
$ git clone -b dev-md https://gitee.com/mindspore/mindscience.git 正克隆到 'mindscience'... remote: Enumerating objects: 2884, done. remote: Counting objects: 100% (97/97), done. remote: Compressing objects: 100% (83/83), done. remote: Total 2884 (delta 21), reused 46 (delta 9), pack-reused 2787 接收物件中: 100% (2884/2884), 21.49 MiB | 1.70 MiB/s, 完成. 處理 delta 中: 100% (1454/1454), 完成. $ cd mindscience/ $ git branch * dev-md
可以看到,在拉取結束後,分支名也跟上游進行了同步,我們就可以在想要的分支上進行操作了。
總結概要
當我們使用Gitee和Github等通過Git來進行程式碼版本管理的平臺時,有時會面臨這樣的一個問題:某一個程式碼倉裡面劃分了很多個分支,而我只需要其中的某一個特性分支,此時如果直接克隆下來,就會導致一系列的麻煩操作。而我們只需要在clone的指令加上一條配置,就可以直接指定分支進行拉取,方便後續的操作。
版權宣告
本文首發連結為:https://www.cnblogs.com/dechinphy/p/git-branch.html
作者ID:DechinPhy
更多原著文章請參考:https://www.cnblogs.com/dechinphy/
打賞專用連結:https://www.cnblogs.com/dechinphy/gallery/image/379634.html
騰訊雲專欄同步:https://cloud.tencent.com/developer/column/91958
CSDN同步連結:https://blog.csdn.net/baidu_37157624?spm=1008.2028.3001.5343
51CTO同步連結:https://blog.51cto.com/u_15561675