git-新增业务代码分支

需求

  • 使用git作为项目管理工具管理项目,
  • 我需要有两个分支,一个分支是日常的主分支,会频繁的推送和修改代码并推送
  • 另外一个是新的业务代码分支,是一个长期开发的功能,同时这个业务分支需要频繁的拉取主分支的代码,除了新的业务代码之外,业务分支的代码要和主分支的代码保持一致

使用bash命令实现

在使用 Git 进行项目管理时,要实现你描述的场景,可以遵循以下步骤:

  1. 创建主分支(master 或 main): 首先,确保你的主分支(通常是 master 或 main)是稳定的,并且包含了项目的当前状态。
  1. 创建业务分支:
    从主分支创建一个新的业务分支,用于长期开发的功能。例如,你可以使用 git checkout -b feature-branch 命令来创建一个名为 feature-branch 的新分支。
  1. 在主分支上进行日常开发: 在主分支上进行日常的推送和修改代码。每次完成一个功能或修复一个 bug 后,确保提交你的更改,并使用 git push 命令推送到远程仓库。
  1. 在业务分支上开发新功能: 在业务分支上进行长期开发的功能。你可以在这个分支上添加新的代码、修改现有代码等。
  1. 保持业务分支与主分支同步: 为了确保业务分支的代码与主分支保持一致(除了新的业务代码),你需要定期从主分支拉取最新的代码,并将其合并到你的业务分支中。这可以通过以下步骤完成:

a. 首先,切换到你的业务分支(如果当前不在该分支上):

bash git checkout feature-branch

b. 拉取主分支的最新代码:

bash git fetch origin

c. 合并主分支的最新代码到你的业务分支(你可能需要解决合并冲突):

bash git merge origin/master # 如果主分支名为 'master'# 或者  
git merge origin/main  # 如果主分支名为 'main'

d. 解决可能出现的合并冲突,然后提交合并结果:

git add .  
git commit -m "Merge changes from main/master into feature-branch"

e. (可选)将合并后的业务分支推送到远程仓库:

git push origin feature-branch
  1. 在业务分支上完成开发后: 一旦你在业务分支上完成了新功能的开发,并且已经与主分支同步了所有必要的更改,你可以将业务分支的代码合并回主分支。这通常是通过一个 pull
    request(在协作平台上如 GitHub、GitLab 等)或直接在本地使用 git merge 命令完成的。
  1. 持续集成/持续部署(CI/CD): 如果可能的话,考虑使用持续集成/持续部署工具(如 Jenkins、GitLab CI/CD 等)来自动化测试和部署流程。这可以确保在主分支上的每次更改都经过验证,并在没有问题时自动部署到生产环境。

使用集成工具IDEA操作

在 IntelliJ IDEA 中使用 Git 进行上述操作,可以按照以下步骤进行:

  1. 创建主分支(master 或 main):
  • 如果你的项目已经存在,并且主分支已经设置好了(通常是 master 或main),你可以跳过这一步。
  • 否则,你可以在 IDEA 中通过 Git 面板创建主分支(虽然这通常是在命令行或通过 Git 协作平台完成的)。
  1. 创建业务分支:
  • 切换到主分支,找到当前项目,右键git,新建分支
    在这里插入图片描述
  1. 在主分支上进行日常开发:
  • 日常开发的时候,在 Git 面板中选择 master 或 main分支
  • 进行日常的开发工作。 修改代码后,右键点击项目或文件,提交更改(Git ->Commit),并推送(Git -> Push)到远程仓库。
  1. 在业务分支上开发新功能:
  • check out(签出) 到业务代码分支:
    在这里插入图片描述
    在这里插入图片描述
  • 阶段性开发完毕之后一定要commit,但是不能push,完全开发完毕之后才能push
  • 这样业务代码的开发就存储到本地,不会推送到远程,也不会影响主分支
  1. 保持业务分支与主分支同步:
  • 签出到 业务代码分支
  • 选择你要同步的远程分支,和远程主分支保持一致,就选择对应的远程分支
    在这里插入图片描述
  1. 日常代碼开发:
  • 不管是那个分支上的代码开发,切换分支之前一定要commit一下代码,不然切换分之后工作区的代码会被清空
    在这里插入图片描述
  1. 完成开发后合并到主分支:
  • 在业务分支上完成所有开发工作后,你可以通过 Git Push 将更改推送到远程仓库。
  • 然后,你可以在主分支上通过 pull request(如果使用了 Git 协作平台)或直接在 IDEA 中通过 Merge Changes 来合并业务分支的更改。 解决可能出现的合并冲突,提交合并结果,并推送到远程仓库。

请注意,具体的步骤可能会因 IntelliJ IDEA 的版本和配置而有所不同,但总体思路是一致的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/832542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python_GUI框架 Pyside6的常用部件介绍

PySide6是一个非常完善的商用级别的GUI框架,涉及的知识点相对比较多,今天我先在这里介绍一下我们在实际应用中最常见的几种部件及其功能: 1. QMainWindow QMainWindow 提供了一个主应用程序窗口的框架,通常包含一个菜单栏、工具…

还原IP地址(力扣93)

解题思路;和分割回文数大致一样,都是在叶子节点收集结果,不过这里要多定义一个用来判断是否合格的函数,并且收集规则是插入完三个节点后再判断收集,同时注意每次开始时要在两位之后因为插入了. 具体代码如下: class …

python列表去掉指定index的几个元素

背景:输入的参数为空时也进入参数了,这种无效数据,大模型也处理不了,只能不返回数据,处理方法,去掉content为空的messages 在Python中,如果你想从列表中移除指定索引位置的元素,可以…

go语言中time日期时间格式化Format使用详解 2006-01-02 15:04:05

go语言中有个很特别的时间格式format,在我们使用 Format格式化时间的时候, format的参数格式字符串必须是 2006-01-02 15:04:05 才能格式出正确的时间来, 这是个很特别的字符串, 通过分析拆分后可以得出的每个代表时间和日期的数…

Redis学习(七)|如何保证Redis中的数据都是热点数据

文章目录 题目分析回答扩展Spring Boot中时用LRU管理Redisapplication.propertiesapplication.yml Redis 缓存策略 题目 MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据? 分析 这个问题涉及到在一个数据量差异很大的情…

pytest教程-37-钩子函数-pytest_collection_finish

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest_collection_start钩子函数的使用方法,本小节我们讲解一下pytest_collection_finish钩子函数的使用方法。 pytest_collection_finish(session) 是一个 pytest 钩子函数&…

03_Redis

文章目录 Redis介绍安装及使用redis的核心配置数据结构常用命令stringlistsethashzset(sortedset) 内存淘汰策略Redis的Java客户端JedisRedisson Redis 介绍 Redis是一个NoSQL数据库。 NoSQL: not only SQL。表示非关系型数据库(不支持SQL标准语法)。 …

Java特性之设计模式【享元模式】

一、享元模式 概述 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式 享元模式尝试重用现有的同类对…

ffmpeg7.0 flv支持hdr

ffmpeg7.0 flv支持hdr 自从ffmpeg6.0应用enhance rtmp支持h265/av1的flv格式后,7.0迎来了flv的hdr能力。本文介绍ffmpeg7.0如何支持hdr in flv。 如果对enhance rtmp如何支持h265不了解,推荐详解Enhanced-RTMP支持H.265 1. enhance rtmp关于hdr 文档…

简述前后端分离架构案例

Hello , 这里是小恒不会java 。今晚1点写写关于RESTful接口的使用案例,本文会通过django原生js前后端分离的案例简单讲解。本文带你认识一下简化版的前后端分离架构 代码 本文案例代码在GitHub上 https://github.com/lmliheng/fontend前后端分离 先说说什么是前后…

Go中如何将io.Writer转换成字符串(将两个管道连接的exec.Command输出的标准输出获取成字符串)

假设我们需要在Go中运行下面的命令: PS -A | grep wget这里需要写成两个exec.Command,如下,第一个命令为cmd,第二个为cmd2: cmd : exec.Command("PS", "-A") cmd2 : exec.Command("grep&qu…

Leetcode 第396场周赛 问题和解法

问题 有效单词 有效单词需要满足以下几个条件: 至少包含3个字符。 由数字0-9和英文大小写字母组成。(不必包含所有这类字符。) 至少包含一个元音字母。 至少包含一个辅音字母。 给你一个字符串word。如果word是一个有效单词,则…

Spring扩展点(三)Spring常用内置工具类

Spring常用内置工具类 Base64UtilsFileCopyUtilsFileSystemUtilsReflectionUtilsResourceUtilsStringUtilsAopUtilsMethodInvokingBean(简洁反射调用,指定类的指定方法,将其声明为Bean即可在 afterPropertiesSet 阶段触发反射方法调用)ReflectionUtils&a…

GateWay检查接口耗时

添加gateway依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId> </dependency>创建一个LogTimeGateWayFilterFactory类&#xff0c;可以不是这个名字但是后面必须是x…

【高校科研前沿】中国科学院地理资源所钟帅副研究员研究组博士生朱屹东为一作在Top期刊发文:从潜力到利用:探索西藏风能资源开发的技术路径优化布局

01 文章简介 论文名称&#xff1a;From potential to utilization: Exploring the optimal layout with the technical path of wind resource development in Tibet&#xff08;从潜力到利用:探索西藏风能资源开发的技术路径优化布局&#xff09; 文章发表期刊&#xff1a;《…

【Pytorch】2.TensorBoard的运用

什么是TensorBoard 是一个可视化和理解深度爵溪模型的工具。它可以通过显示模型结构、训练过程中的指标和图形化展示训练的效果来帮助用户更好地理解和调试他们的模型 TensorBoard的使用 安装tensorboard环境 在终端使用 conda install tensorboard通过anaconda安装 导入类Sum…

车道线检测交通信号识别车辆实时检测

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言车道线检测机器学习前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对车道线检测&交通信号识别&…

蛋白质/聚合物防污的机器学习(材料基因组计划)

前言&#xff1a;对于采用机器学习去研究聚合物的防污性能&#xff0c;以及或者其他性质。目前根据我的了解我认为最困难的点有三条&#xff1a; 其一&#xff1a;数据&#xff0c;对于将要训练的数据必须要有三点要求&#xff0c;1.数据要多&#xff0c;也就是大数据&#xff…

Retrofit使用举例, Android Gradle 知识,RxJava和接口回调,Activity与Fragmen关系

目录 Retrofit使用举例 Android Gradle 知识 1. Gradle Wrapper​编辑 2. 构建文件 3. 依赖管理

电子取证平航杯的复现

闻早起部分&#xff1a; 一、闻早起的windows10电脑 &#xff08;1&#xff09;.“闻早起”所使用的笔记本电脑使用何种加密程式&#xff1f; 1.在EFI文件中找到加密程式 &#xff08;2&#xff09; 教徒“闻早起”所使用的笔记本电脑中安装了一款还原软件&#xff0c;其版本…