Git克隆Github或Gitlab上非Master分支代码的方法

简介:

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

1
2
3
4
5
6
7
xpleaf@leaf:~ /test $ git clone https: //github .com /xpleaf/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 ), 完成.
检查连接... 完成。

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

1
2
xpleaf@leaf:~ /test/Blog_mini $ git branch 
* master

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

1
2
3
4
5
6
7
8
9
xpleaf@leaf:~ /test/Blog_mini $ git branch -r
   origin /HEAD  -> origin /master
   origin /master
   origin /version_1 .0
xpleaf@leaf:~ /test/Blog_mini $ git branch -a
* master
   remotes /origin/HEAD  -> origin /master
   remotes /origin/master
   remotes /origin/version_1 .0

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

1
2
3
4
5
6
7
8
9
10
11
12
13
xpleaf@leaf:~ /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上了,相应的代码也会克隆下来:

1
2
3
4
5
6
xpleaf@leaf:~ /test/Blog_mini $ git branch 
* (头指针分离于 origin /version_1 .0)
   master
xpleaf@leaf:~ /test/Blog_mini ls
app        LICENSE    migrations  README.md     requirements.txt
config.py  manage.py  Procfile    requirements


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




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1927278,如需转载请自行联系原作者

相关文章
|
20天前
|
项目管理 开发工具 git
Git项目管理——分支(三)
Git项目管理——分支(三)
20 2
|
15天前
|
开发工具 git 开发者
【git merge/rebase】详解合并代码、解决冲突
【git merge/rebase】详解合并代码、解决冲突
38 0
|
1天前
|
开发工具 git
git代码回退
git代码回退
11 5
|
9天前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
26 5
|
21天前
|
开发工具 git
git切换到另一分支更改也会随之过去
git切换到另一分支更改也会随之过去
20 1
|
21天前
|
开发工具 git
git将一个远程分支的部分修改提交到另一个远程分支
git将一个远程分支的部分修改提交到另一个远程分支
12 1
|
22天前
|
开发工具 git
idea中git替换,推送到新的github或者gitlab上面
idea中git替换,推送到新的github或者gitlab上面
30 2
|
1天前
|
Shell 开发工具 git
如何使用git上传代码github仓库
如何使用git上传代码github仓库
|
15天前
|
敏捷开发 测试技术 持续交付
【git分支管理策略】如何高效的管理好代码版本
【git分支管理策略】如何高效的管理好代码版本
31 0
|
1月前
|
缓存 数据可视化 网络安全
Git命令大全
Git命令大全
71 1