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:代表手动合并

    在这里插入图片描述

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

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

相关文章

使用命令行方式搭建uni-app + Vue3 + Typescript + Pinia + Vite + Tailwind CSS + uv-ui开发脚手架

使用命令行方式搭建uni-app Vue3 Typescript Pinia Vite Tailwind CSS uv-ui开发脚手架 项目代码以上传至码云,项目地址:https://gitee.com/breezefaith/uniapp-vue3-ts-scaffold 文章目录 使用命令行方式搭建uni-app Vue3 Typescript Pinia V…

【Python】不一样的Ansible(一)

不一样的Ansible——进阶学习 前言正文概念Ansible CorePlugins和Modules 插件插件类型编写自定义插件基本要求插件选项文档标准编写插件 添加一个本地插件注册为内置插件指定插件目录 其他一些技巧更改Strategy 结语 前言 Ansible 是一个极其简单的 IT 自动化引擎&#xff0c…

Windows下Redis5+可视化软件下载、安装和配置教程-2024年1月8日

Windows下Redis5下载、安装和配置教程-2024年1月8日 一、下载二、安装三、配置环境四、配置可视化客户端 一、下载 redis是现在是没有对win系统版进行维护的,这个是大神完成的,目前是到5版本,选择Redis-x64-5.0.14.1.zip点击下载 下载地址&…

pgAdmin和asdf postgres的安装

安装pgAdmin: curl https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo apt-key addsudo sh -c echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmi…

.NET 6中如何使用Redis

1、安装redis Redis在windows平台上不受官方支持,所以想要在window安装Redis就必须去下载windows提供的安装包。安装地址:https://github.com/tporadowski/redis/releases 2、在NueGet安装包 3、在appsettings.json文件里面添加Redis相关配置信息 &quo…

MySQL之子查询、连接查询(内外)以及分页查询

一、案例(接上一篇文章) 09)查询学过「张三」老师授课的同学的信息 -- 一共有两种方式 -- 第一种方式: SELECT s.*,c.cname,t.tname,sc.score FROMt_mysql_teacher t,t_mysql_course c,t_mysql_student s,t_mysql_score sc WHERE…

鸿蒙设备-开发板基础学习(BearPi-HM Micro)

theme: minimalism 每当学习一门新的编程语言或者上手一款新的开发板,在学习鸿蒙设备开发过程中,带大家写的第一个程序,通过这个程序,我们可以对鸿蒙设备开发的整个流程有一个初步的体验。BearPi-HM Micro开发板为例:…

「MCU」SD NAND芯片之国产新选择优秀

文章目录 前言 传统SD卡和可贴片SD卡 传统SD卡 可贴片SD卡 实际使用 总结 前言 随着目前时代的快速发展,即使是使用MCU的项目上也经常有大数据存储的需求。可以看到经常有小伙伴这样提问: 大家好,请问有没有SD卡芯片,可以…

MongoDB高级集群架构设计

两地三中心集群架构设计 容灾级别 RPO & RTO RPO(Recovery Point Objective):即数据恢复点目标,主要指的是业务系统所能容忍的数据丢失量。RTO(Recovery Time Objective):即恢复时间目标&…

C++学习笔记——string类和new函数

目录 string类 1.功能增强 1.1 子字符串提取 1.2 字符串拼接 1.3 大小写转换 1.4 字符串比较 2.性能优化 3.使用示例 下面是一个简单的使用示例,展示了如何使用改进后的String类: NEW函数 2.1NEW函数的基本用法 2.2NEW函数的注意事项 2.3避…

密码学:一文读懂非对称加密算法 DH、RSA

文章目录 前言非对称加密算法的由来非对称加密算法的家谱1.基于因子分解难题2.基于离散对数难题 密钥交换算法-DH密钥交换算法-DH的通信模型初始化DH算法密钥对甲方构建DH算法本地密钥乙方构建DH算法本地密钥DH算法加密消息传递 典型非对称加密算法-RSARSA的通信模型RSA特有的的…

建模软件Rhinoceros mac介绍说明

Rhinoceros mac是一款3D设计软件“犀牛”,在当今众多三维建模软件中,Rhinoceros 版因为其体积小、功能强大、对硬件要求低而广受欢迎,对于专业的3D设计人员来说它是一款不错的3D建模软件,Rhinoceros Mac中文版能轻易整合3DS MAX与…

Git命令+github仓库克隆

Git github Git常用命令 开始 git init #创建仓库 git status #查看仓库的状态 git status -s #简单的查看仓库的状态 git ls-files #查看暂存区的内容 git reflog #查看操作的历史记录 暂存区 git add git add <file&g…

网安入门11-文件上传(前后端绕过,变形马图片马)

Upload-Labs Upload-Labs是一个使用PHP语言编写、专注于文件上传漏洞的闯关式网络安全靶场。练习该靶场可以有效地了解并掌握文件上传漏洞的原理、利用方法和修复方案。 思考&#xff1a;他只让我传一个.jpg的图片&#xff0c;我想传一个.php的木马&#xff0c;两者什么区别 …

如何计算指标波动贡献率?(附Pandas实现)

大家好&#xff0c;我是阿粥 “为什么这个月销售额提升了30%&#xff1f;” “为什么转化率又降了&#xff0c;同比竟然降低了42%&#xff0c;什么原因导致的呢&#xff1f;” 这些都是数据分析师在工作中经常会遇到的问题&#xff0c;甚至有些基础岗的数据分析师要花80%以上的…

静态S5在项目管理中的应用与案例分享

静态S5作为一种强大的数据分析工具&#xff0c;不仅在数据处理和可视化方面表现出色&#xff0c;还在项目管理中发挥着重要作用。本篇将通过实际案例分享&#xff0c;探讨静态S5在项目管理中的应用与优势。 一、静态S5在项目管理中的应用 项目进度管理&#xff1a;静态S5通过…

软件测试|深入理解SQL CROSS JOIN:交叉连接

简介 在SQL查询中&#xff0c;CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件&#xff0c;而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积&#xff0c;它在某些情况下非常有用&#xff…

SpringBoot-自定义监听器

Spring Boot提供了强大的事件模型&#xff0c;其中包括多种内置监听器&#xff0c;同时也支持开发者自定义监听器。通过实现ApplicationListener接口&#xff0c;开发者可以创建自己的监听器&#xff0c;并在Spring Boot应用程序中进行配置。这样一来&#xff0c;在特定的应用程…

python 函数中字典的修改会影响函数外字典的值

def modify_dict(d):d[key] new valueprint(函数中字典d的位置,id(d))# 创建一个字典 original_dict {key: old value} print(函数外字典的位置,id(original_dict))# 调用函数来修改字典 modify_dict(original_dict)# 输出原始字典的值&#xff0c;可以看到它已经被修改了 pr…

一种DevOpts的实现方式:基于gitlab的CICD(二)

写在之前 前文已经搭建了基于gitlab的cicd环境&#xff0c;现在我们来更近一步&#xff0c;结合官网给出的案例来详细介绍如何一步一步实现CI的过程。 基于gitlab搭建一个前端静态页面 环境依赖&#xff1a; gitlabgitlab runner&#xff08;docker版本&#xff09; 环境达吉…