上一节讲了Git的安装以及一些基本操作,今天来讲一下Git的分支以及远程仓库
Git分支
Git分支是指在Git版本控制系统中用于独立开发和管理代码的并行线路。每个分支都代表了一个独立的代码状态,可以在各自的分支上进行修改、提交和合并操作,而不会影响其他分支的代码。
1、查看分支
git branch
说明我本地此时只有一个master分支。
2、新建分支
git branch + xx // xx为分支名
3、切换分支
git checkout + xx //xx为分支名
由最开始的master切换到了test01。HEAD指向谁,谁就是当前分支。
此外还可以切换到未创建的分支(创建并切换)
git checkout -b + xx //xx为分支名
4、合并分支
git merge + yy //yy为要合并的分支
先在test01分支下创建pluto02.txt文件,执行add commit操作后,切换回master分支
执行git merge命令:
5、git开发中分支使用原则与流程
在Git开发中,以下是一些常用的分支使用原则和流程:
- 主分支(通常是master或main):主分支用于存放稳定的、可发布的代码。该分支上的代码应该是经过测试和审查的高质量代码。一般来说,不建议直接在主分支上进行开发和修改。
- 开发分支:为了避免直接在主分支上进行修改,通常会从主分支拉出一个开发分支作为基础分支,例如develop。开发分支用于整个团队的日常开发工作。团队成员可以在此分支上创建自己的个人分支进行开发。
- 功能分支:每次开始一个新的功能开发时,从开发分支上创建独立的功能分支。命名规范可以采用feature/xxx,其中xxx是与功能相关的描述性名称。在该分支上进行功能开发和修改。
- Bug修复分支:当需要修复生产环境中的bug时,可以从主分支上创建一个专门用于修复bug的分支。命名规范可以采用bugfix/xxx,其中xxx是与bug相关的描述性名称。在该分支上进行bug修复工作。
- 发布分支:当开发完成并经过测试后,将功能分支合并到开发分支。一段时间后,当开发分支上的代码准备好进行发布时,可以从开发分支创建一个发布分支。在发布分支上进行最后的测试、版本号增加等准备工作。
- 合并和冲突解决:在合并分支时,可能会出现冲突。使用Git提供的合并工具或者第三方的合并工具来解决冲突。确保在合并前先与团队成员进行沟通,避免代码冲突和功能衔接上的问题。
- 远程仓库管理:将分支推送到远程仓库进行备份和共享。例如使用托管服务(GitHub、GitLab、gitee)来托管远程仓库,并与团队成员共享代码。
- 删除分支:当一个分支的任务完成或不再需要时,可以删除该分支,以保持仓库的整洁。但在删除之前,要确保已经合并了需要保留的更改。
Git远程仓库(以gitee为例)
Git远程仓库是存储在网络或共享服务器上的Git仓库,用于团队成员之间的代码共享和协作。它可以作为代码的中央存储库,并允许多个开发者在不同的地方进行工作,并将他们的更改上传到远程仓库中。
常见的Git远程仓库托管服务商包括GitHub、GitLab和gitee等,它们提供了便捷的界面和功能来管理远程仓库,本文以gitee为例。
1.创建远程仓库
注册登录gitee后,在右上角点击新建仓库
创建好后就可以把自己的代码推到远程仓库中。
2、配置SSH密钥
为了确保推送的人是自己或者自己的团队,而不是其他人,我们在推送之前,要先配置公私钥。
生成SSH公钥:
ssh-keygen -t rsa
在提示信息后一直回车即可。
查看生成的密钥:
cat ~/.ssh/id_rsa.pub
复制该密钥,打开设置
打开ssh公钥选项,把刚才复制的粘贴进去
点击确定输入密码后即可添加成功
验证是否配置成功
看到successfully即为成功
3、绑定远程仓库
打开刚才创建的远程仓库,点击shh,复制该地址。
绑定仓库:
git remote add+(给该仓库起个名字,一般为origin)+刚才复制的地址
查看是否添加成功:
git remote
4、推送本地代码到仓库
推送到仓库:
git push+刚才给仓库起的名字+要推送的分支名
回到网页刷新:
- 刷新前:
- 刷新后
到此为止,我们已经成功从gitee上创建仓库并把本地的代码上传到远程仓库中。
总结
Git 分支和远程仓库是 Git 版本控制系统中非常重要的概念,它们可以帮助我们更好地管理代码库和项目。通过使用Git分支和远程仓库,我可以轻松地解决一些问题,可以随时回退到之前的某个版本,找回丢失的代码,或者快速查看历史版本中的代码,从而更好地管理项目版本。同时,我也遇到了一些问题,如推送失败等,但通过不断实践,我成功解决这些问题。总之,学习Git分支和远程仓库可以帮助我们更好地理解Git的工作原理和协作开发的方式,提高我们的开发效率和代码质量。