Git-第四章:Git分支操作

Git命令及分支操作 一、Git常用命令 命令名称 作用 git config --global user.name 用户名 设置用户签名 git config --global user.email 邮箱 设置用户签名 git init 初始化本地库 git status 查看本地库状态 git add 文件名 添加到暂存区 git commit -m "日志信息" 文件名 提交到本地库 git reflog 查看历史记录 git reset - 阅读详情

在这里插入图片描述

4.1 什么是分支?

在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用)

在这里插入图片描述

4.2 分支的好处

  • 同时并行推进多个功能开发,提高开发效率。
  • 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

4.3 分支的操作

命令名称作用
git branch 分支名创建分支
git branch -v查看分支
git checkout 分支名切换分支
git merge 分支名把指定的分支合并到当前分支上

4.3.1 查看分支

git branch -v

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
* master 087a1a7 my third commit (*代表当前所在的分区)

4.3.2 创建分支

git branch 分支名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch hot-fix
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
hot-fix 087a1a7 my third commit (刚创建的新的分支,并将主分支 master
的内容复制了一份)
* master 087a1a7 my third commit

4.3.3 修改分支

--在 maste 分支上做修改
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ vim hello.txt
--添加暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git add hello.txt
--提交本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git commit -m "my forth commit" hello.txt
[master f363b4c] my forth commit
1 file changed, 1 insertion(+), 1 deletion(-)
--查看分支
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git branch -v
 hot-fix 087a1a7 my third commit (hot-fix 分支并未做任何改变)
* master f363b4c my forth commit (当前 master 分支已更新为最新一次提交
的版本)
--查看 master 分支上的文件内容
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu!

4.3.4 切换分支

git checkout 分支名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'
--发现当先分支已由 master 改为 hot-fix
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$
--查看 hot-fix 分支上的文件内容发现与 master 分支上的内容不同
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
--在 hot-fix 分支上做修改
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! hot-fix test
--添加暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ git add hello.txt
--提交本地库
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (hot-fix)
$ git commit -m "hot-fix commit" hello.txt

4.3.5 合并分支

git merge 分支名

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$ git merge hot-fix
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then commit the result.

冲突产生的表现:后面状态为 MERGING

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ cat hello.txt
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
<<<<<<< HEAD
hello git! hello atguigu! master test
hello git! hello atguigu!
=======
hello git! hello atguigu!
hello git! hello atguigu! hot-fix test
>>>>>>> hot-fix

冲突产生的原因:
合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git 无法替
我们决定使用哪一个。必须人为决定新代码内容。
查看状态(检测到有文件有两处修改)

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git status
On branch master
You have unmerged paths.
 (fix conflicts and run "git commit")
 (use "git merge --abort" to abort the merge)
Unmerged paths:
 (use "git add <file>..." to mark resolution)
 both modified: hello.txt
no changes added to commit (use "git add" and/or "git commit -a")

4.3.7 解决冲突

  1. 编辑有冲突的文件,删除特殊符号,决定要使用的内容
    特殊符号:<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix
hello git! hello atguigu! 2222222222222
hello git! hello atguigu! 3333333333333
hello git! hello atguigu!
—————————————————————————————
27
更多 Java –大数据 –前端 –python 人工智能资料下载,可访问百度:尚硅谷官网
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu!
hello git! hello atguigu! master test
hello git! hello atguigu! hot-fix test
  1. 添加到暂存区
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git add hello.txt
  1. 执行提交(注意:此时使用 git commit 命令时不能带文件名)
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master|MERGING)
$ git commit -m "merge hot-fix"
[master 69ff88d] merge hot-fix
--发现后面 MERGING 消失,变为正常
Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (master)
$

4.4 创建分支和切换分支图解

在这里插入图片描述

  • master、hot-fix 其实都是指向具体版本记录的指针。当前所在的分支,其实是由 HEAD决定的。所以创建分支的本质就是多创建一个指针。
  • HEAD 如果指向 master,那么我们现在就在 master 分支上。
  • HEAD 如果执行 hotfix,那么我们现在就在 hotfix 分支上。
  • 所以切换分支的本质就是移动 HEAD 指针。
Git之常见的分支操作 前端校招精编面试解析大全点击这里即可获取完整版pdf查看再用git status看看状态:加上刚才合并的提交,现在我们本地分支比远程分支超前3个提交。用git log看看:|\|/自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前! 阅读详情

相关推荐

Git分支教程:详解分支创建、合并、删除等操作

分支是Git中用于开发和管理代码的重要概念之一。每个分支都是一个独立的代码版本,可以在分支上进行修改和提交,而不影响主线(通常是master分支)上的开发工作。本篇博客详细介绍了Git中分支的创建、合并、删除等操作。分支是Git中非常强大的功能,它可以提高团队的协作效率,使代码管理更加灵活和可控。通过学习和掌握分支的使用,你将能够更好地进行代码开发和管理。希望本篇博客对你有所帮助,如果你有任何问题或建议,请在评论区留言。

东方猫的博客 1263

git 仓库分支多文件夹管理

分支是 git 管理的一大特性,在多人开发大型项目中,经常遇到分支很多,且很多分支需要暂时保留的情况,可以考虑使用文件夹管理不同特性的分支,在图形化工具 SourceTree 中支持的也比较好。 经过测试,git branch 创建分支命令支持 路径/分支名 这种形式,且能够将路径一同推送到远端。 命令行中效果: 在图形化工具 sourceTree 中效果: git 命令如下: // 创建...

weixin_34177064的博客 3011

git分支操作

1.GIT创建分支; 首先我们得知道, GIT分支包括本地分支 跟 远程分支; 惯例先上图: 有时远程有的分支我们本地没有(其他同事维护的分支), 或者本地有的分支远程没有(修复线上小问题开的本地小分支);以下具体说下如何创建本地分支和远程分支: 1.1 创建本地分支: 新分支都是基于原有分支创建, 而在实践开发中基本从线上分支(与线上代码同步的分支): master 分支创建。 而 从master创建本地分支也有两种方式:基于本地master分支创建分支、基于线上master分支创建

qfzhaohan的博客 1834

Git之分支与版本

1.分支dev/test/pre/pro(即master)2.标签Tag格式: 主版本号.次版本号.修订号-类型标签,其中类型标签可为:alpha、beta、rc、r。Tag示例:1.0.0-alpha、1.0.0-beta、1.0.0-rc、1.0.0-r注1:有的公司在版本命名时,前面加v,“-”替换成“_”,更加详细一点还可以在修订号后面添加发布日期v1.0.0.191220_r,这都是可以的3.分支与标签的关系dev–>alphatest–>betapre–>rc。

qq_63531917的博客 1400

基于FPGA的心电信号实时处理与智能诊断系统实现【附源码解析】

本文详细介绍了基于FPGA的心电信号实时处理与智能诊断系统的设计与实现。系统通过高精度采集电路和FPGA数字滤波技术处理微弱心电信号,采用自适应算法准确检测QRS波群,实现心率计算和心律异常诊断。附源码解析展示了FIR滤波器、中值滤波器和诊断逻辑的Verilog实现,为心电监护系统开发提供实用参考。

g8f9d0s1a2的博客 770

从原理到调试:一次搞懂Camera Sensor的曝光、增益与帧率三角关系

本文深入解析Camera Sensor中曝光、增益与帧率之间的动态平衡关系,揭示低光环境下帧率下降的根本原因。通过实际调试案例和底层公式分析,帮助开发者理解如何优化相机参数设置,实现画质与流畅度的最佳平衡。

weixin_31310913的博客 429

GIT合并任意两个指定分支

【代码】GIT合并任意两个指定分支。

风中追风 2907

告别两个电源模块!用UCD3138+四开关Buck-Boost,一个电路搞定电池充放电(附原理图分析)

本文详细介绍了采用UCD3138数字控制器和四开关Buck-Boost拓扑的双向DC/DC变换器设计,实现单一电路完成电池智能充放电管理。该方案显著降低BOM成本和PCB面积,提升系统效率至96.2%,适用于UPS、通信基站和储能系统,具有高效、紧凑和成本优势。

weixin_30256901的博客 397

Git 分支简介-创建-合并-解决冲突-删除

git的分支概念,如何创建分支,合并分支,为什么会有冲突,如何解决冲突,实例演示

qq_54140719的博客 8483

三极管吸潮失效分析案例

案例背景三极管也称为晶体三极管,它被视为电子电路中最重要的器件之一。三极管顾名思义具有三个电极,它最主要的功能是电流放大和开关作用。本次失效案例中的三极管在仓库存放一段时间后,在PCBA测试过程中集中发生不良。分析过程1.外观检测对失效样品进行外观检测,未发现明显破损、裂纹等不良。2.X-ray检测对失效样品进行X-ray检测,金线、绑定点未发现异常。3.开封检测对失效样品进行开封检测,发现存在键合点脱落的现象,键合点附近的晶圆破损。4.SEM检测对失效样品进行SEM检测,发现晶圆键合点位置有裂纹和破损,金

sy220504的博客 1042

【硬件开发】振铃

如果是开关管的振铃,那么桥臂的SW处产生的振铃会窜入驱动电路,造成的结果就是驱动电路和上桥臂下桥臂之间的SW节点都会有振铃现象。如果是驱动电路的振铃,那么MCU的输出引脚还是正常的PWM,但是到了MOS管两侧就变成带有振铃的PWM波形了。开关振铃产生的原因是MOS管上面的寄生电感当开关管打开时为了保持电流不变感应出的电压会对电源和地产生冲击。开关管的驱动线上的寄生电容和寄生电感导致的振铃为驱动电路振铃。开关管上的寄生电容和寄生电感导致的振铃为开关节点振铃。、电感等元件的存在,导致电路中的电压和。

weixin_62546664的博客 1825

【开发学习笔记】git的工作区与分支

Git是一款分布式版本控制系统,被广泛应用于软件开发中,用于跟踪和管理项目的源代码。在Git中,工作区与分支是两个核心概念,它们在Git的工作流程中扮演着不同的角色。

yuanwu932730169的博客 552

全能扫描王的实现(python版本)- 目标检测图像矫正

全能扫描王python代码实现,可用于文件扫描或者是图像校正

搬砖猛女的啃书历程 5488

第四章:Git的分支操作

在版本控制过程中,同时推进多个任务,程序员可以创建单独的分支,意味着程序员将自己的工作从主线上分离出来,在各自的分支工作。而不影响主线的运行。例如某款软件正在运行,有一天程序员A想给软件添加一个A功能,程序员B想给软件添加一个B功能,那么他们可以各自创建一个分支,然后在各自的分支上写代码,测试完之后再合并到原来的主线上即可。这样就你可以保证一切工作有序的进行,即使某个程序员把代码写毁了,也不怕,因为他是在自己的分支上工作的,把该分支删除即可,不会影响原来主线的运行。好了,今天到这里就结束了!

2401_88004140的博客 1432

OTA 升级失败/回滚策略设计:打造安全可靠的双分区/断点续传/签名校验方案

双分区机制(A/B Partitioning)是OTA升级的“保险箱”。简单来说,设备存储分为两个分区:A分区(当前运行)和B分区(备用)。升级时,新固件写入B分区,A分区保持不变。如果升级成功,系统切换到B分区运行;如果失败,设备直接回滚到A分区,完全不受影响。这就像玩游戏存档:你打Boss前存了个档,万一挂了还能读档重来。双分区就是设备的“读档”机制,避免了变砖的尴尬。以Android设备为例,Google从Android 7.0开始强制引入A/B分区机制(Seamless Updates)。

大模型大数据攻城狮的专栏 1234

适航文章汇总:知识体系全面梳理

无论您是行业新手还是经验丰富的专业人士,都可以通过本篇文章快速查找相关资料,提高对适航认证、机载系统、软件及硬件等领域的理解。本部分详细解析ARP 4754A、ARP 4761、DO-178C、DO-254等核心标准,并介绍其在机载系统开发中的应用。介绍FAA、EASA、CCAR等主要航空管理机构的适航规章体系,并说明各类飞行器(如固定翼、旋翼机、无人机等)的适航要求。本部分还探讨硬件设计、验证与确认过程中的挑战。从系统架构设计到机载设备的集成与管理,本部分介绍机载系统的研发体系及适航管理的最佳实践。

qq_41854911的博客 1448

第四章 git分支操作

git 分支操作

wyr1235的博客 485

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Git 第四章 -- Git分支操作

1. Git分支操作 1.1 什么是分支 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解为副本,一个分支就是一个单独的副本。(分支底层其实也是指针的引用) 1.2 分支的好处 同时并行推进多个功能开发,提高开发效率。 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。 1.3

天行健 君子以自强不息,地势坤 君子以厚德载物。 534

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

第四章Git分支操作

第四章Git分支操作

qq_56444564的博客 110

一些简单的Git操作

这是我在图书馆借阅的《GitHub入门与实践》第四章关于Git的简单介绍的内容整理。 文章目录基本操作git initgit statusgit addgit commitgit loggit diff分支操作git branchgit checkout -b特性(topic)分支主干分支git mergegit log --graph更改提交操作git resetgit rebase -i推送至远程仓库git remote addgit push从远程仓库获取git clonegit pull其他资料 基

F_Arisa的博客 223

Git学习8:Git分支操作

认识分支Git中分支管理是Git的一大特色,由于在实际项目开发中的也确定性以及需求变更的复杂性,所有的开发都集中在一条分支上开发势必造成开发与维护成本的提高。以软件项目开发为例,由于开发会有多个开发周期,发布多个软件版本,每个已发布的版本又可能出现Bug,以及适应时代的变化,不断升级软件,推出新功能。这些都是开发中可能出现的情况,试想这些开发都在一个分支(目前是master)上进行开发,那么会严重影

rhwayfun专栏 6392

Git 详细教程之三: Git 分支操作

Git 详细教程之三: Git 分支操作

qq_40430360的博客 5384

Git:使用Git进行合并分支操作

git合并、创建分支操作

永远保持随时离开的技术能力! 3万+

Git的分支操作以及IDEA中操作Git的分支

在 IDEA 的底部工具栏中,点击 Git 工具窗口(如果没有显示,可以通过 "View" -> "Tool Windows" -> "Version Control" 打开)。- 在 "Git" 工具窗口中,可以通过 "Push" 和 "Pull" 按钮进行推送和拉取操作。选择你要推送或拉取的分支,并点击相应的按钮。- 创建新分支并切换到该分支:`git checkout -b `- 在弹出的对话框中,输入新分支的名称,选择是否切换到新分支,然后点击 "OK"。

m0_58356862的博客 5449

Git 分支操作

git 分支学习

zhangqimeng的博客 846

Git分支操作

Git分支操作

qq_67693066的博客 1424
上一篇: Git-第二章:Git常用命令
下一篇: Git-第四,五章:Git团队协作机制,GitHub操作
Xqhardstudy
博客等级 码龄6年 2粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值