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://xiahunao.cn/news/3015478.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

oracle试用期过期,解决办法

过期重置方法,删除注册表,相当于无限试用,缺点每30天都要重置一次 1. window r 输入 regedit 确定,打开注册表 2.删除下图里的两个文件夹 3.重启 plsql,登录成功

react antd table 自定义表头功能实现

react antd table 自定义表头功能 Ⅰ- 壹 - 功能展示和使用需求 需求描述 基于antd table 实现 自定义 table 的表头 内容 排序 宽度和顺序等 , 可根据自己的需求自己扩展 github:https://github.com/whqgo/ReactAntdTableCustomHeader 功能展示 Ⅱ - 贰 - 封装思路 Task…

2024年4月17日华为春招实习试题【三题】-题目+题解+在线评测,2024.4.17,华为机试

2024年4月17日华为春招实习试题【三题】-题目题解在线评测 🔮题目一描述:扑克牌消消乐输入描述输出描述样例一样例二Limitation解题思路一:模拟,遇到连续3张相同牌号的卡牌,直接删除解题思路二:栈解题思路三…

软考网络工程师 第六章 第二部分 第二节 IP分片与计算

IP定义 IP报文最大65535字节,而以太网MTU为1500字节。 相当于货轮能载重65535,而火车载重1500,那么必须把货轮上的货物分装给多个火车运输 例题精选解析 以太网主机发送一个IP分组,长度3000字节,头长度为标准长度&a…

【北京迅为】《iTOP-3588开发板源码编译手册》-第三章 编译 Linux源码包

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

C语言 函数概述

好 接下来 我们来讲函数 构建C程序的最佳方式 就是模块化程序设计 C语言中 最基本的程序模块被称为 函数 所以 这个知识点的重要性不言而喻 这里 我们讲个故事 诸葛亮六出祁山时 为了逼司马懿出战 派人送给力司马懿一件女人衣服 司马懿只是为使者 诸葛亮的饮食起居 使者感叹…

AI论文速读 |2024[IJCAI]TrajCL: 稳健轨迹表示:通过因果学习隔离环境混杂因素

题目: Towards Robust Trajectory Representations: Isolating Environmental Confounders with Causal Learning 作者:Kang Luo, Yuanshao Zhu, Wei Chen, Kun Wang(王琨), Zhengyang Zhou(周正阳), Sijie Ruan(阮思捷), Yuxuan Liang(梁宇轩) 机构&a…

leetcode-字符串的排列-100

题目要求 思路 1.因为只涉及到字符,因此可以进行排序 2.创建临时字符串,当临时字符串temp的长度等于str的长度,作为判出条件。 3.创建一个标记的数组,每次在temp中插入一个字符,便在对应的数组下标设置为1&#xff0c…

国家电网某地电力公司网络硬件综合监控运维项目

国家电网某地电力公司是国家电网有限公司的子公司,负责当地电网规划、建设、运营和供电服务,下属多家地市供电企业和检修公司、信息通信公司等业务支撑实施机构。 项目现状 随着公司信息化建设加速,其信息内网中存在大量物理服务器、存储设备…

美团KV存储squirrel和Celler学习

文章目录 美团在KV存储squirrel优化和改进在水平方向1、对Gossip协议进行优化 在垂直扩展方面1、forkless RDB数据复制优化2、使用多线程,充分利用机器的多核能力 在高可用方面 美团持久化kv存储celler优化和改进水平扩展优化1、使用bulkload进行数据导入2、线程模型…

linux启动常见问题

一、忘记root密码 日常生活中,我们会接触到很多账号和密码,而这些账号和密码我们不能都很好的记忆,对于linux也是一样的,如果root密码忘记了怎么办?岂不是都无法登陆使用Linux了?现在我就教各位&#xff0c…

一文了解CRM系统帮助中心:从认识到搭建

客户关系管理(CRM)系统是企业的一个重要部分。而CRM系统帮助中心为用户提供了便捷的支持服务,提升了用户体验,减少了企业运营成本。本文将从认识到搭建,带你全面了解CRM系统帮助中心。 一、认识CRM系统帮助中心 CRM系统…

智慧交通系统:未来出行,从这里开始

随着城市化进程的加快,交通拥堵、事故频发、停车难等问题日益凸显,传统交通管理模式已难以满足现代社会的需求。智慧交通系统作为解决这些问题的关键,通过集成创新技术,实现交通管理的智能化、信息化,提高交通系统的运…

流量分析利器arkime的学习之路(三)---结合Suricata攻击检测

1、基础 Arkime安装部分参考《流量分析利器arkime的学习之路(一)—安装部署》 在此基础上安装suricata软件并配置。 2、安装suricata yum install suricate 可能依赖的文件包括libyaml,PyYAML,这些可能在之前安装arkime或者其他…

教程分享:如何为跨境电商、外贸、国际展会制作二维码?

不论是做跨境电商、在全球做产品推广,还是国外的餐厅运营、参加国际展会,或者是做创意户外广告、制作个性化的个人名片、有趣的产品包装……只要是在国外使用二维码,你都可以在QR Tiger去制作您需要的二维码! 一、认识QR Tiger 二…

RVM(相关向量机)、CNN_RVM(卷积神经网络结合相关向量机)、RVM-Adaboost(相关向量机结合Adaboost)

当我们谈到RVM(Relevance Vector Machine,相关向量机)、CNN_RVM(卷积神经网络结合相关向量机)以及RVM-Adaboost(相关向量机结合AdaBoost算法)时,每种模型都有其独特的原理和结构。以…

[开发|鸿蒙] 鸿蒙OS开发环境搭建(笔记,持续更新)

搭建开发环境流程: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/installation_process-0000001071425528-V2 鸿蒙DevEco Studio 3.1.1 Release仅支持windows和mac系统 运行环境要求 为保证DevEco Studio正常运行,建议电脑配置…

idea修改maven项目名称及子模块名称

一、修改目录名称 shift F6修改目录,选择“rename module and dictionary”。![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/43efd9c6af6e43ad9656455db94b37a2.png)二、修改子项目pom的 三、修改父项目pom的 四、刷新maven项目

消费金融平台公司如何做大做强自营产品

本文来自于2019年的某次内部分享沟通会,部分敏感内容已做删减。

Facebook之道:探索社交媒体领域的未来

随着科技的不断发展,社交媒体已经成为我们日常生活中不可或缺的一部分。而在这个领域中,Facebook一直是引领者和领头羊。然而,随着时间的推移,社交媒体领域正在发生着翻天覆地的变化,而Facebook又将何去何从&#xff1…