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,如需转载请自行联系原作者

相关文章
|
2天前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
125 86
|
28天前
|
存储 缓存 Java
图解Git——远程分支《Pro Git》
远程分支是 Git 中用于管理分布式协作的关键概念。远程引用指向远程仓库中的分支和标签,常用 `git ls-remote` 或 `git remote show` 查看。日常开发中,通常使用远程跟踪分支(如 `origin/main`)与远程分支交互,简化远程仓库状态的管理和使用。远程跟踪分支记录远程分支的状态,但本身只读。
27 6
|
28天前
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
54 7
|
28天前
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
44 9
|
28天前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
70 9
|
1月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
85 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
3月前
|
开发工具 git
git分支管理master/hotfix/develop/feature/release
采用合理的Git分支管理模型可以显著提升团队协作效率和代码管理的质量。本文介绍的 `master`、`develop`、`feature`、`release`和 `hotfix`分支模型是一个行之有效的方法,适用于大多数软件开发项目。通过清晰地划分各个分支的职责,团队成员可以更专注于各自的开发任务,同时确保代码库的稳定性和可维护性。
143 2
|
4月前
|
开发工具 git Python
代码管理记录(二):Github代码上传实操
本文是关于如何使用Git将本地代码上传到GitHub的实操指南。介绍了Git的基本概念、安装方法,并通过详细的步骤指导用户从GitHub创建仓库到使用Git命令初始化、添加、提交代码,最终将代码推送到远程仓库。同时,还汇总了一些常见的错误及其解决方法。
124 2
代码管理记录(二):Github代码上传实操
|
4月前
|
编译器 网络安全 开发工具
git学习五:切换本地仓库出现的问题。修改git配置初始化。error:src refspec master does not match any。错误总结,送上几个案例
这篇文章是关于Git使用中遇到的一些问题及其解决方案的总结,包括切换本地仓库时的问题、修改Git初始化配置、以及解决"error: src refspec master does not match any"错误等。
136 0
|
4月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
173 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令