Git克隆GitHub或GitLab上非Master分支代码的方法

今天想使用一下之前开源项目Blog_mini一个分支的代码,于是把整个项目克隆下来:

linuxidc@linuxidc:~/test$ git clone https://github.com/linuxidc/Blog_mini
正克隆到 'Blog_mini'...
remote: Counting objects: 1153, done.
remote: Total 1153 (delta 0), reused 0 (delta 0), pack-reused 1153
接收对象中: 100% (1153/1153), 2.18 MiB | 238.00 KiB/s, 完成.
处理 delta 中: 100% (673/673), 完成.
检查连接... 完成。

然后查看分支,发现竟然没有之前创建的分支:

linuxidc@linuxidc:~/test/Blog_mini$ git branch 
* master

这是因为git clone命令默认就是克隆仓库中master的代码的,但是可以查看远程仓库的分支:

linuxidc@linuxidc:~/test/Blog_mini$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/version_1.0
linuxidc@linuxidc:~/test/Blog_mini$ git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/version_1.0

然后再使用git checkout命令切换到自己期望的分支上:

linuxidc@linuxidc:~/test/Blog_mini$ git checkout remotes/origin/version_1.0
Note: checking out 'remotes/origin/version_1.0'.
 
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
 
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
 
  git checkout -b <new-branch-name>
 
HEAD 目前位于 2ff197d... update README.md

于是就可以看到目前已经在分支version_1.0上了,相应的代码也会克隆下来:
linuxidc@linuxidc:~/test/Blog_mini$ git branch 
* (头指针分离于 origin/version_1.0)
  master
linuxidc@linuxidc:~/test/Blog_mini$ ls
app        LICENSE    migrations  README.md    requirements.txt
config.py  manage.py  Procfile    requirements

当然上面是用Github的例子来说明,实际上使用Gitlab或者其它自己搭的Git服务器也是可以的,因为使用的都是Git版本控制系统。

更多GitLab相关教程见以下内容

Ubuntu 14.04下安装GitLab指南 

如何在Ubuntu Server 14.04下安装Gitlab中文版 

CentOS源码安装GitLab汉化版 

CentOS 7下GitLab 9.1.0 安装及汉化 

搭建属于自己的GitLab 

Ubuntu 14.04搭建GitLab服务器 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13833.html