Git 的分支操作|学习笔记

简介: 快速学习Git 的分支操作

开发者学堂课程【Git 基础入门到实战详解Git 的分支操作】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/714/detail/12761


Git 的分支操作


内容介绍:

一、 分支管理

二、 分支测试

 

一、 分支管理

1、 什么是分支:

对于一个商城项目:

image.png

在公司开发一个商城项目,首先要用户模块、商品模块、订单模块和物流模块每个模块的工作人员互不干扰,内容也大不相同最后将每个模块儿的分支结合到一起,

形成完整的项目。

在公司中开发项目为多人协作开发以上图片未开发项目的分支模块。

所以可以将分支理解成每个模块的重要功能。

在版本回退的章节里,每次提交后都会有记录,Git 把它们串成时间线,形成类似于时间轴的东西,这个时间轴就是一个分支,我们称之为 master 分支,在开发的时候往往是团队协作,多人进行开发,因此光有一个分支是无法满是多人同时开发的需求的,并且在分支上工作并不影响其他分支的正常使用,会更加安全,Git鼓励开发者使用分支去完成一些开发任务。

Master:

image.png

线上仓库中重要的词句。

分支相关指令:

查看分支:    git branch

创建分支:    git branch 分支名

切换分支:    git checkout 分支名 

注解:

对于新分支,可以使用 “git checkout.b分支名"指令来切换分支,-b 选项表不创慎,相当于是两个操作指令。

删除分支: git branch-d 分支名

合并分支:git merge 被合并的分支名(将多个分支合并一起)

 

二、分支测试

测试:使用 ssh 网站 进行测试:

1、 进行查看分支:当前分支

image.png

当前只有一个 master 分支。注意:当前分支前面有个标记image.png。颜色也变深了。在后面也有分支的名字。

 2、 创建分支:

image.png所以不是当前分支。也没有变颜色。

image.png

3、 切换分支:

输入切换分支的指令,切换到 dev 分支。分支切换成功。

image.png

名字变绿也有梅花的标志。

4、 合并分支:

观察目录结构,并没有发生变化,跟之前的 master 目录结构是一样的。

进行修改文件,进行提交本地:

在 dev 分支下的 readme 文件中新增一行并提交到本地

关闭文件:

image.png

切换到 master 分支下观察 readme 文件

image.png

打开 readme 文件观察:

image.png

发现上一步新加的内容消失了。

image.png

由于新增的内容为 dev 中,所以在 master 中不会体现。

结论:分支是互不影响的。

由于后面需要合并,所以在 DEV 中有的文件在 master 中也应该有所体现.

将 dev 分支内容与 master 分支内容合并。

image.png打开文件观察:合并成功。

刚才消失的内容重新出现:

合并好了之后,这个时候,相当于假设这个项目就已经做完了,所有的东西,已经往这个主分支里面去合并啊,合并好了之后,每个人开发的那个自己的模块的分支,就没有什么用了,这个时候,就可以考虑删除这个分支了。

5、 删除分支(dev)

由于已经将 dev 中的分支转移到 master 中,所以将删除 dev 中的分支:

image.png

删除后查看:只有 master 分支:

注意:在删除分支的时候,一定要先退出删除的分支。(当前的分支不能处于使用中的状态)

对线下仓库的分支进行了操作,回到线上刷新,线上的仓库并没有影响:只有一个分支刷新线上文件,发现 readme 文件只有一行的内容

image.png

让线上发生变化:进行提交

Git push:

image.png

提示我的权限不够。这个是之前用的一个文件。这个问题,应该是公私钥文件的问题啊。之前的一段时间,将公私钥文件换了,换成之前的公私钥。这样将把这个公

私钥文件,再给他换回来。把名称改成2,这是自己的公私钥文件里面的东西呢有很多这些都在用。

image.png

修改成功后继续执行:

image.png

进行刷新:

线上的内容与线下同步:

合并所有分之后,将 master 分支提交到线上远程仓库中

image.png

小结:

分支这一块,它的目的,是为了应对多人开发,并且能够用分支在多人模块开发的时候,互不影响,互不干扰,所以,会有分支的一个操作,GIT 本身是鼓励用分支

进行完成的项目开发的。

那么分支指令,这个地方涉及到了五个,那么包括查看,创建切换,删除合并,那么其中查看叫 get branch 查看的时候,在当前分支前面会有一个特殊标记,并且当前分支会有颜色变化。

创建分支叫 get branch 加分支名。切换分支,git checkout 加分支名

删除分支, git branch-d 分支名,合并分支叫 git merge 被合并的分支名。还有一个注意点,展现出分支的时候一定要退出要删除的分支。

相关文章
|
4月前
|
存储 安全 开发工具
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
289 4
深度解决 Git “fatal: refusing to merge unrelated histories” 错误解析什么是历史分支优雅草卓伊凡
|
22天前
|
开发工具 git
Git版本控制工具合并分支merge命令操作流程
通过以上步聚焦于技术性和操作层面指南(guidance), 可以有效管理项目版本控制(version control), 并促进团队协作(collaboration).
123 15
|
9月前
|
开发工具 git
图解Git——分支的新建与合并《Pro Git》
在Git开发中,新建与合并分支是常见的操作。以实际开发为例:为实现新需求创建分支`iss53`进行开发;遇紧急Bug时,切换至线上分支创建`hotfix`修复并合并回线上分支,再切换回`iss53`继续工作。完成`iss53`后,切换到`master`合并。若出现冲突,使用`git status`查看,手动编辑解决冲突后标记为已解决并提交。图形化工具如`git mergetool`也可辅助解决冲突。
182 9
|
9月前
|
开发工具 git 开发者
图解Git——分支简介《Pro Git》
Git 分支是其核心特性之一,允许开发者从主开发线分离工作,避免干扰主线。传统版本控制系统创建分支效率低,而Git的分支创建和切换非常轻量高效。
460 9
|
8月前
|
开发工具 git 开发者
vscode+git解决远程分支合并冲突
通过这些详细步骤,您可以掌握如何使用VSCode和Git高效地解决远程分支合并冲突,提高开发效率和代码质量。希望这些内容对您的学习和工作有所帮助。
1673 86
|
11月前
|
Linux 网络安全 开发工具
Git学习笔记(一):基础与应用
本文档详细介绍了如何将本地项目关联到Gitee上的空仓库并上传代码,以及如何验证本机与Git服务器的SSH连接。同时,还概述了Git的基本概念、安装步骤、初始配置、常见命令及如何配置多个SSH-Key,适用于初学者快速上手Git操作。
279 51
Git学习笔记(一):基础与应用
|
9月前
|
存储 项目管理 开发工具
图解Git——分支开发工作流《Pro Git》
分支开发工作流利用Git的分支功能,支持灵活的项目管理。长期分支如`master`和`develop`分别保存稳定和开发中的代码;短期主题分支用于开发单一特性或修复问题,完成后合并到主分支。此模式确保代码稳定性,支持并行开发、便于审查和灵活调整。建议维护明确的长期分支,保持主题分支短小精悍,并定期清理无用分支。配置上可保护关键分支,遵循命名规范。
354 7
|
9月前
|
存储 缓存 Java
图解Git——远程分支《Pro Git》
远程分支是 Git 中用于管理分布式协作的关键概念。远程引用指向远程仓库中的分支和标签,常用 `git ls-remote` 或 `git remote show` 查看。日常开发中,通常使用远程跟踪分支(如 `origin/main`)与远程分支交互,简化远程仓库状态的管理和使用。远程跟踪分支记录远程分支的状态,但本身只读。
160 6
|
12月前
|
开发工具 git
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
这篇文章是关于Git常用命令的总结,包括初始化配置、基本提交、分支操作、合并、压缩历史、推送和拉取远程仓库等操作的详细说明。
291 1
git学习四:常用命令总结,包括创建基本命令,分支操作,合并命令,压缩命令,回溯历史命令,拉取命令
|
12月前
|
开发工具 git 开发者
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)
本文通过具体操作和截图,详细讲解了如何在Git中解决分支冲突问题,包括如何识别冲突、手动解决冲突代码、提交合并后的代码,以及推送到远程分支。
2720 3
关于git 解决分支冲突问题(具体操作,包含截图,教你一步一步解决冲突问题)