2.分支管理

1.了解分支

每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即 master 分⽀;再来理解⼀下HEAD,HEAD 严格来说不是指向提交,⽽是指向master,master才是指向提交的,所以,HEAD 指向的就是当前分⽀

每次提交,master分⽀都会向前移动⼀步,这样,随着你不断提交,master分⽀的线也越来越⻓,⽽HEAD只要⼀直指向master分⽀即可指向当前分⽀。

2.分支操作

2.1创建分支

git branch查看当前所有分支,git branch xxx可以创建分支

创建新的分⽀后,Git 新建了⼀个指针叫 dev, * 表⽰当前 HEAD 指向的分⽀是 master 分⽀

⽬前 dev 和 master 指向同⼀个修改

2.2切换分支

使⽤ git checkout 命令即可完成切换

可以发现已经切换到dev分支

2.3合并分支

为了在 master 主分⽀上能看到新的提交,就需要将 dev 分⽀合并到 master 分⽀

git merge 命令⽤于合并指定分⽀到当前分⽀

2.4删除分支

如果当前正处于某分⽀下,就不能删除当前分⽀

切换到其他分支进行删除

3.合并冲突

有这样一个场景,在dev分支下有句代码是123,而在master分支下该部分代码为456,当想将两个分支合并时,会出现冲突

此时我们必须要⼿动调整冲突代码,并需要再次提交修正后的结果!!

使用git log可以查看到分支合并的情况

4.分支管理策略

(1)Fast Forward模式

通常合并分⽀时,如果可能,Git 会采⽤ Fast forward 模式,在这种 Fast forward 模式下,删除分⽀后,查看分⽀历史时,会丢掉分⽀信息,看不出来最新提交到底是 merge 进来的还是正常提交的。

(2)禁用Fast Forward模式

Git ⽀持我们强制禁⽤ Fast forward 模式,那么就会在 merge 时⽣成⼀个新的 commit ,这样,从分⽀历史上就可以看出分⽀信息。

shell 复制代码
git merge --no-ff -m "merge with no-ff" dev2

--no-ff 参数,表⽰禁⽤ Fast forward 模式,禁⽤ Fast forward 模式后合并会创建⼀个新的 commit ,所以加上 -m 参数,把描述写进去。

(3)bug分支

git stash

Git 提供了 git stash 命令,可以将当前的⼯作区信息进⾏储藏,被储藏的内容可以在将来某个时间恢复出来。

git stash list

可以查看之前隐藏的工作现场

git stash pop

恢复工作现场,同时删除stash

(4)删除临时分支

使⽤传统的 git branch -d 命令删除分⽀的⽅法是不⾏的,需要使用git branch -D xxx

相关推荐
yumgpkpm1 小时前
AI评判:信创替代对Cloudera CDH CDP Hadoop大数据平台有何影响?
大数据·hive·oracle·flink·kafka·hbase·cloudera
小四的快乐生活1 小时前
大数据SQL诊断(采集、分析、优化方案)
大数据·数据库·sql
爱写代码的派大星1 小时前
git 拉取和合并
git
DeepFlow 零侵扰全栈可观测1 小时前
3分钟定位OA系统GC瓶颈:DeepFlow全栈可观测平台实战解析
大数据·运维·人工智能·云原生·性能优化
天远API2 小时前
拒绝多头借贷:详解天远多头借贷行业风险版API的Python对接与数据清洗
大数据·api
别或许3 小时前
Gitee新手使用全解
gitee
韦东东4 小时前
Text2SQL案例演示:信贷风控策略场景(Coze工作流版)
大数据·人工智能·大模型·text2sql·coze·信贷策略
johnnyAndCode4 小时前
ES迁移工具,纯手搓,灵活好用效率高
大数据·elasticsearch·搜索引擎
智能化咨询4 小时前
(112页PPT)数字化转型制造业企业数据治理平台规划方案(附下载方式)
大数据·运维·人工智能
智慧化智能化数字化方案4 小时前
集团财务管控——解读SAP 集团财务管控整体方案【附全文阅读】
大数据·集团财务管控整体方案·大型集团企业财务管理·财务共享与业财融合一体化·财务系统规划设计·财务管理体系·企业财务分析指标