IDEA+Git——项目分支管理

IDEA+Git——项目分支管理

  • 1. 前言
  • 2. 基础知识点
    • 2.1. 分支区分
    • 2.2. Git 代码提交规范
    • 2.3. 四个工作区域
    • 2.4. 文件的四种状态
    • 2.5. 常用命令
    • 2.6 注重点
  • 3. IDEA分支管理

1. 前言

在Git中,分支是项目的不同版本,当开始开发一个新项目时,主分支通常是master分支。随着项目的进展,你可能需要开发新的功能或修复bug,在这些情况下,你可以创建一个新的分支,以便在不影响主分支的情况下进行开发。

2. 基础知识点

2.1. 分支区分

  • master:用于版本的更新,当比较大的功能开发完成或者更新之后会有一次集体的发版,就会将所有的代码都合到master(有的公司也会用release分支发版,原理都是一样)
  • dev:一般是开发测试分支,在项目发版上线之前都会现在dev分支上统一进行测试,确保功能达标没有bug之后再推到master分支
  • feature分支:用来做分模块功能开发,建议命名为feature-xxx-time(也可能是其它命名方式,或者以_分割等等),模块完成之后,会合并到 dev 分支;
  • hotfix分支:是用来做线上的紧急bug修复的分支,建议命名为hotfix-xxx-time。当线上某个版本出现了问题,将检出对应版本的代码,创建hotfix分支,问题修复后,合并回devmaster,这里注意,合并到master的时候,一般要打上修复后的版本标签

示例:git branch feature-bulitProject-20230609

2.2. Git 代码提交规范

  • feat:代表本次提交代码中包含了新增功能
  • fixBUG和问题修复
  • refactor:代码重构,如方法改名、变量移动、包变更等,对应IDEARefactor(重构)操作
  • docsGit仓库中的文档相关更新
  • style:代码格式修改,如缩进和空格调整
  • test:测试代码的调整
  • chore:部署脚本、构建工具、依赖管理调整
  • revert:撤销之前提交的特殊说明

示例:git commit fix:修复xxx方法中数据转换异常问题

2.3. 四个工作区域

  • Workspace:工作区。就是你平时存放项目代码的地方
  • Index/Stage:暂存区。用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或版本库)。就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库。托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

2.4. 文件的四种状态

在这里插入图片描述

  • Untracked:未跟踪。此文件在文件夹中,但并没有加入到git库,不参与版本控制,通过git add状态变为Staged
  • Unmodify:文件已经入库,未修改,即版本库中的文件快照内容与文件夹中完全一致,这种类型的文件有两种去处,如果它被修改, 而变为Modified,如果使用git rm移出版本库,则成为Untracked文件
  • Modified:文件已修改。仅仅是修改,并没有进行其他的操作,这个文件也有两个去处,通过git add可进入暂存staged状态,使用git checkout则丢弃修改过,返回到unmodif状态,这个git heckout即从库中取出文件,覆盖当前修改
  • Staged:暂存状态。执行git commit则将修改同步到库中,这时库中的文件和本地文件又变为一致,文件为Unmodify状态,执行git reset HEAD filename取消暂存,文件状态为Modified

2.5. 常用命令

git init:在本地目录中初始化一个新的Git仓库
git clone:克隆(复制)远程仓库到本地
git add:将文件添加到暂存区
git commit:提交暂存区中的文件到仓库,并附带提交信息
git status:查看仓库当前状态
git diff:查看工作区与暂存区之间、暂存区与最新提交之间的文件差异
git show:显示提交记录的详细信息
git log:查看提交历史记录
git branch:列出、创建和删除分支
git checkout:切换到指定分支或恢复工作区文件
git merge:将指定分支合并到当前分支
git rebase:将当前分支的修改移到目标分支的末端
git pull:从远程仓库拉取最新修改到本地分支
git push:将本地的修改推送到远程仓库
git tag:为提交打上标签
git reset:重置当前分支到指定状态
git rm:删除文件
git revert:创建一个新的提交来撤销指定的提交
git remote:管理远程仓库
git config:配置Git选项

2.6 注重点

  • 查看本地用户信息
    • git config user.name // 获取当前登录的用户
    • git config user.email // 获取当前登录用户的邮箱
  • 修改git本地用户信息
    • git config --global user.name 'userName' // 修改登陆账号
    • git config --global user.email 'email' // 修改登陆邮箱
    • git config --global user.password 'password' // 修改登陆密码

3. IDEA分支管理

  1. 创建分支
    在这里插入图片描述
    在这里插入图片描述

  2. 切换分支
    在这里插入图片描述

  3. 合并分支
    在这里插入图片描述

  4. 回滚分支
    在这里插入图片描述

  5. 解决冲突
    在这里插入图片描述

    解决上图中的冲突方案如下:一般选择Merge
    1. Accept Yours:代表以自己的为准
    2. Accept Theris:代表以更新下来的文件为准
    3. Merge:代表手动合并

    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于外连接、内连接和子查询的使用(2)

目录 一. 前言 二. 使用外连接、内连接和子查询进行解答 三. 思维导图 一. 前言 在前面我们对外连接、内连接和子查询的使用有了一些了解,今天我们将继续更深入的进行学习。(这里缺少的八个题目在博主的前面博客有解答,大家可以移步前面一…

Tsmaster使用笔记整理

选择厂商 根据你所选择的CAN分析仪的厂商,确定你的厂商设备设置。 我一般会选择PEAK,和 ZLG多一点,其他的没有用过。除了上图中的,市面上的CAN分析仪还有CANanlyst、广成科技、创芯科技等,但它们都不能在Tsmaster上使…

Android Matrix (二)具体图形变换参数的获取

Android Matrix (二)具体图形变换参数的获取 Matrix 类在 Android 中用于表示 3x3 的变换矩阵。这个矩阵可以应用于画布(Canvas),视图(View)或者位图(Bitmap)&#xff0…

嵌入式Linux-Qt环境搭建

本编介绍如何在嵌入式Linux开发板上配置Qt运行环境,并进行Qt程序运行测试。 1 tslib编译 tslib之前在测试触摸屏的时候使用过,这里再来记录一下编译过程。 下载tslib库的源码:https://github.com/libts/tslib/tags 将下载的源码拷贝到ubun…

在当前bash(sh)中执行脚本和注册函数

在研究《管理Python虚拟环境的脚本》时,我们使用了source指令而没有使用sh或者bash来执行脚本,就是因为source指令可以让脚本在当前bash(sh)中执行;而sh或者bash则会新启动一个bash来执行。 我们可以通过下面这个脚本做测试 # test.sh # 用…

一文读懂「多模态大模型」

​ 学习资源 5-多模态大模型一统NLP和CV 1.多模态大模型的基本原理 2.常见的多模态大模型 https://www.bilibili.com/video/BV1NN41177Zp?p5&vd_sourcef27f081fc77389ca006fcebf41bede2d 3.多模态大模型如_哔哩哔哩_bilibili 强强联手!科大讯飞和中科院终于把【…

RocketMQ源码 发送 延迟消息 源码分析

前言 rocketMQ 支持的延迟消息,简单理解就是对于生产者发送的消息,支持设置固定时间的延迟级别,在到达指定的延迟时间时,才会投递到消费者队列,消费者才能消费到消息。 延迟队列和普通消息的发送流程,主要…

Dijkstra算法——邻接矩阵实现+路径记录

本文是在下面这篇文章的基础上做了一些补充,增加了路径记录的功能。具体Dijkstra的实现过程可以参考下面的这篇文章。 [jarvan:Dijkstra算法详解 通俗易懂](Dijkstra算法详解 通俗易懂 - jarvan的文章 - 知乎 https://zhuanlan.zhihu.com/p/338414118) …

软考高级选择考哪个好?

📒软考高级总共5个科目,同样是高级证书,认可度也有区别! 大家一般在「信息系统项目管理师」✔️和「系统架构设计师」✔️二选一 1️⃣信息系统项目管理师 ❤️信息系统项目管理师也叫「高项」,考试内容主要是「项目管理」相关&am…

006-Zynq图像传输中cache刷新对视频的影响(讲究一个恰到好处)

文章目录 前言一、cache是什么玩意儿?二、解决方法1.Xil_DCacheInvalidateRange函数2.未刷新前的问题3.带刷新后的效果 总结 前言 也是移植过程中遇到的一个问题,尝试了一些解决方案,也算是解决了这个问题。 这个问题出现在通过以太网传输分…

为什么要使用云原生数据库?云原生数据库具体有哪些功能?

相比于托管型关系型数据库,云原生数据库极大地提高了MySQL数据库的上限能力,是云数据库划代的产品;云原生数据库最早的产品是AWS的 Aurora。AWS Aurora提出来的 The log is the database的理念,实现存储计算分离,把大量…

基于YOLOv8全系列【n/s/m/l/x】开发构建道路交通场景下CCTSDB2021交通标识检测识别系统

交通标志检测是交通标志识别系统中的一项重要任务。与其他国家的交通标志相比,中国的交通标志有其独特的特点。卷积神经网络(CNN)在计算机视觉任务中取得了突破性进展,在交通标志分类方面取得了巨大的成功。CCTSDB 数据集是由长沙…

CodeGPT,你的智能编码助手—CSDN出品

CodeGPT是由CSDN打造的一款生成式AI产品,专为开发者量身定制。 无论是在学习新技术还是在实际工作中遇到的各类计算机和开发难题,CodeGPT都能提供强大的支持。其涵盖的功能包括代码优化、续写、解释、提问等,还能生成精准的注释和创作相关内…

分布式系统架构设计之分布式消息队列架构解析

分布式消息队列架构是构建在分布式系统之上的消息队列架构,旨在提高高性能、高可用性和可伸缩性。它包括以下架构相关部分: 1、架构优势 分布式消息队列架构的优势主要体现在以下几个方面: 01 高可用性 在分布式消息队列架构中&#xff0…

十九:爬虫最终篇-平安银行商城实战

平安银行商场实战 需求 获取该商城商品信息 目标网址 https://m.yqb.com/bank/product-item-50301196.html?mcId1583912328849970&loginModepab&historyy&sceneModem&traceid30187_4dXJVel1iop详细步骤 1、寻找数据接口 2、对比payload寻找可疑参数 3、多…

上海亚商投顾:沪指再度失守2900点 全市场超4800只个股下跌

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 一.市场情绪 三大指数昨日继续调整,沪指跌超1%再度失守2900点,深成指、创业板指均创出调整新低&…

【算法练习】leetcode算法题合集之二叉树篇

递归遍历基础篇 前序遍历,中序遍历,后序遍历是根据处理根节点的位置来命名的。 树的处理大多用到了递归,递归需要知道终止条件。 前序遍历(中左右) 144.二叉树的前序遍历 中左右,先处理根节点,…

ASP .net core微服务实战

>>>>>>>>>>>>>>开发<<<<<<<<<<<<<<<< 0)用户 用户到nginx之间需要用https&#xff0c;避免被监听。 1)nginx // 做统一的分发&#xff0c;到微服务&#xff0c;相当于网关,提供统…

异常处理:全面覆盖与精细化管理的平衡

异常处理&#xff1a;全面覆盖与精细化管理的平衡 在软件开发中&#xff0c;异常处理是保证系统稳定性和用户体验的重要环节。对于是否应当全面覆盖所有异常并设立兜底机制&#xff0c;业界存在着两种主流思路&#xff1a;全面覆盖原则和精细化处理。如何在这两者间取得平衡&a…

Unity文字转语音(使用RT-Voice PRO [2023.1.0])

参考文章Unity插件——文字转朗读语音RtVioce插件功能/用法/下载_rtvoice-CSDN博客 一、使用步骤 1.导入进Unity&#xff08;插件形式为 .unitypackage&#xff09; https://download.csdn.net/download/luckydog1120446388/88717512 2.添加所需Prefab 1&#xff09;.右键可…