当前位置: 首页 > article >正文

git:分支控制

目录

1.什么是分支

2.查看当前在哪个分支

3.分支的创建

3.分支的切换

4.分支的合并

5.删除分支

 6.使用非fast-forward模式提交

7.解决冲突

8.分支策略


1.什么是分支

master主分支:主分支,master分支上的代码通常是部署在生产环境中的,通常是稳定的代码,不会再主分支上进行任何的开发操作,写出个bug那服务就直接挂了就惨了。

通常进行开发的时候通常会创建一个分支,在分支上开发,对分支修改不会影响主分支,如果代码没问题,再将分支合并到主分支。

2.查看当前在哪个分支

git branch

 

当前在master分支

3.分支的创建

git branch [分支的名字] //创建一个分支
git checkout -b [分支名字] //创建一个分支并进入

 创建一个dev分支并查看

使用checkout创建分支

3.分支的切换

git checkout [分支名]

checkout命令还可将工作区的代码回退到 提交到暂存区的代码。

git checkout --[文件路径]

4.分支的合并

git merge [分支名]

合并head指向的分支和merge指定的分支。

将dev分支合并到主分支

查看合并情况

git log --graph --pretty=oneline --abbrev-commit

查看提交的日志, --graph就是以图形化的方式查看,--pretty=online更工整的打印信息,--abbrev-commit省略一些提交哈希值。

git log --graph --pretty=oneline --abbrev-commit 

因为我这里对分支没做任何修改所以提交出来时这样的,也可以修改文件提交之后。

默认的提交方式是fast-forword ,这种提交方式是及其不建议的,如果将分支删除,就看不到这次提交是合并过来的还是直接commit的。

5.删除分支

git branch -d [分支名]

将dev分支删除

再次查看日志

我们发现已经看不到是否合并过了

 6.使用非fast-forward模式提交

git merge --no-ff -m "非 ff 方式的分支合并" dev2

分支的信息即使将分支删除后也会保存。

7.解决冲突

当两个分支对同一行代码做出的改动,合并分支的时候,git也不知道你想要哪行代码,这时候需要程序员手动处理冲突。

冲突文件会有这样的信息

<<<<<<< HEAD
这是目标分支(通常是当前分支)的内容
=======
这是源分支的内容
>>>>>>> <source_branch>

处理完之后再次进行commit。

8.分支策略

在实际开发中,我们应该按照⼏个基本原则进⾏分⽀管理:
⾸先,master分⽀应该是⾮常稳定的,也就是仅⽤来发布新版本,平时不能在上⾯⼲活;
那在哪⼲活呢?⼲活都在dev分⽀上,也就是说,dev分⽀是不稳定的,到某个时候,⽐如1.0版本发布 时,再把dev分⽀合并到master上,在master分⽀发布1.0版本;
你和你的⼩伙伴们每个⼈都在dev分⽀上⼲活,每个⼈都有⾃⼰的分⽀,时不时地往dev分⽀上合并就 可以了。 

http://www.kler.cn/a/568003.html

相关文章:

  • C/C++动静态库的制作与原理 -- 静态库,动态库,目标文件,ELF文件,动态链接,静态链接
  • 微服务笔记 2025/2/15
  • weaviate 安装与测试
  • 医疗行业电脑终端如何防病毒——火绒企业版杀毒软件
  • P8787 [蓝桥杯 2022 省 B] 砍竹子
  • vue写一个登录页面
  • 基于支持向量机的Digits手写数字识别
  • DeepSeek 开源周:第五天 - Fire-Flyer 文件系统(3FS)
  • SpringBoot同一功能处理
  • 【Web 大语言模型攻击简介】
  • Java Web应用中获取客户端的真实IP地址
  • MATLAB实现四阶龙格库塔法求解常微分方程组
  • 软件工程----内聚与耦合
  • MySQL 中如何解决深度分页的问题?什么是 MySQL 的主从同步机制?它是如何实现的?如何处理 MySQL 的主从同步延迟?
  • 大白话前端性能优化方法的分类与具体实现
  • 【Linux网络编程】高效I/O--select/poll服务器
  • Android AsyncLayoutInflater异步加载xml布局文件,Kotlin
  • 支持向量机(Support Vector Machine,SVM)详细解释(带示例)
  • 关于手眼标定的数学模型及标定流程
  • Seaborn知识总结