1. 程式人生 > 其它 >git clone指定分支

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