Idea下面git的使用:变基、合并、优选、还原提交、重置、回滚、补丁

多分支和分支切换

image.png

变基和合并

变基是把本项目的所有提交都列出来按顺序一个个提交到目标分支上去
而合并是把两个分支合并起来,但是旧的分支还是可以启动其他分支,在旧的分支上继续开发

master:  A -- B -- C -- M/
feature:       D -- E
master:  A -- B -- C\
feature:             D' -- E'

:::success
主动变基和被动变基的区别
:::
没有什么区别变基,只是把合并的一种策略,把两个分支的有差异的提交,单次一次一次的提交到主动要求变基的分支,比如main分支要求变基到feature,意味着把feature所有和main有差异的提交都提交到main,包括时间顺序。

还原提交是什么

假设之前有个提交出现了bug,就可以使用还原提交查看出bug的节点修改了什么然后把bug之前的节点和bug之后所有节点和bug本次提交。具体如下:
image.png

把当前分支重置到此处和回滚操作的区别

分支重置

把当前分支重置到此处相当于把此处之后的所有分支都切除了,但是idea提供多个切除方案:
image.png
软重置会把提交历史提交信息都删除,但是数据还是保留。硬重置会把提交历史信息和数据都删除,就好像当时节点提交时候的数据。使用idea进行操作的时候只需要注意是否要软重置和硬重置,混合和保留模式并不是很好的体现在idea上面(因为涉及到暂存区,这个东西被Idea屏蔽了)image.png

代码回滚

你在某个节点上编写了很多代码,你想把编写的代码全部去除还原到最新版本,那么就可以使用回滚
image.png

优选操作是什么

就是从某个分支中的提交中获取一个你想要的提交作为一次新提交提交上去,比如说正式版本去测试版本中找到权限控制代码的提交,把权限控制提交作为本节点的新提交,提交到本地,解决好冲突之后,正式版本就可以得到权限控制的代码了,这样做的好处就是测试版本提交了权限控制,但是之后又提交了几个测试功能,但是这几个测试功能的效果并不是很好,正式版本不打算使用只使用权限控制,那么就可以使用cherry pick。
点击收藏夹就可以得到全部分支的提交,选择一个提交到作为新提交,提交上去即可。
image.png

创建补丁是什么

补丁在代码开发中的使用确实相对较少。在现代的团队协作和版本控制工具中,如Git,开发人员通常使用分支、合并和拉取请求等功能来管理并发修改和解决冲突。
然而,补丁仍然在某些特定情况下有其用武之地,尤其是在没有直接访问对方代码库或版本控制系统的情况下,或者在需要将更改应用到非版本控制的环境中时。
以下是一些可能使用补丁的场景:

  1. 开源项目贡献:当你想要向一个开源项目提交代码贡献时,但你没有直接的访问权限或合并请求的权限,你可以创建一个补丁文件,并将其提交给项目维护者。项目维护者可以选择接受并应用你的补丁。
  2. 跨版本应用更改:当你需要将某个版本的代码更改应用到另一个版本时,但这两个版本的代码库无法直接合并或比较。在这种情况下,你可以生成一个补丁文件,并将其应用到目标版本中。
  3. 部署到非版本控制的环境:如果你需要将代码更改应用到没有版本控制的环境(如生产服务器)中,你可以使用补丁文件来记录和应用更改,而不是直接复制整个代码库。

尽管补丁的使用相对较少,但它仍然是一种有用的工具,可以在特定情况下帮助解决代码冲突或将更改应用到不同的环境中。在实际开发中,具体使用补丁的需求会因情况而异。

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

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

相关文章

粘性文本整页滚动效果

效果展示 CSS 知识点 background 相关属性综合运用position 属性的 sticky 值运用scroll-behavior 属性运用scroll-snap-type 属性运用scroll-snap-align 属性运用 整体页面效果实现 <div class"container"><!-- 第一屏 --><div class"sec&qu…

JAVA编程题-求矩阵螺旋值

螺旋类 package entity; /*** 打印数组螺旋值类*/ public class Spiral { // 数组行private int row; // 数组列private int col; // 行列数private int size; // 当前行索引private int rowIndex; // 当前列索引private int colIndex; // 行开始索引private int rowStart; //…

Docker---cgroups资源限制

目录 一、cpu资源控制 1、 设置cpu使用率上限 2、设置cpu资源占用比&#xff08;设置多个容器时才有效&#xff09; 3、设置容器绑定指定的CPU 三、内存资源控制 四、磁盘IO配额控制 1、限制Block IO 2、限制bps和iops进行限制 一、cpu资源控制 cgroups是一个非常强大的…

web基础以及http协议

web基础&#xff0c;http协议 域名&#xff1a;www.88886.co DNS解析 静态页面 动态页面 DNS域名&#xff1a; 网络上的通信都是基于IP通信模式&#xff1a;TCP/IP TCP建立连接和断开连接&#xff0c;都是要双方进行确认的 建立连接&#xff1a;三次握手 断开连接&#x…

Spring源码解析(十二):TransactionInterceptor事务拦截器

Spring源码系列文章 Spring源码解析(一)&#xff1a;环境搭建 Spring源码解析(二)&#xff1a;bean容器的创建、默认后置处理器、扫描包路径bean Spring源码解析(三)&#xff1a;bean容器的刷新 Spring源码解析(四)&#xff1a;单例bean的创建流程 Spring源码解析(五)&…

dockerfile lnmp 搭建wordpress、docker-compose搭建wordpress

-----------------安装 Docker--------------------------- 目前 Docker 只能支持 64 位系统。systemctl stop firewalld.service setenforce 0#安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 --------------------------------------------------…

NoSQL之Redis 主从复制配置详解及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 2.3 修改 Redis 配置文件&#xff08;Slave节点操作&#xff09; 2.4 验证主从效果 3 Redis 哨兵模…

揭秘 Go 中的 new() 和 make() 函数

Go&#xff08;或 Golang&#xff09;是一种现代、静态类型、编译型的编程语言&#xff0c;专为构建可扩展、并发和高效的软件而设计。它提供了各种内置的函数和特性&#xff0c;帮助开发人员编写简洁高效的代码。其中包括 new() 和 make() 函数&#xff0c;这两个函数乍看起来…

一个命令让redis服务端所有信息无所遁形~(收藏吃灰系列)

Redis服务器是一个事件驱动程序&#xff0c;它主要处理两类事件&#xff1a;文件事件和时间事件。这些事件的处理和Redis命令的执行密切相关。下面我将以Redis服务端命令为切入点&#xff0c;深入解析其工作原理和重要性。 首先&#xff0c;我们先了解Redis服务端有哪些命令。…

【JavaScript】浅拷贝与深拷贝

引言 浅拷贝、深拷贝是对引用类型而言的。 引用类型的变量对应一个栈区地址&#xff0c;这个栈区地址处存储的值是存放的真正的数据的堆区地址。 基本数据类型的变量也对应一个栈区地址&#xff0c;但是该地址存储的是其真正的值。 let a b发生了什么&#xff1f; let obj…

this关键字在不同上下文中的值是如何确定的?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Python爬虫技术系列-03requests库案例-完善

Python爬虫技术系列-03requests库案例 参考1 Requests基本使用1.1 Requests库安装与使用1.1.1 Requests库安装1.1.2 Rrequests库介绍1.1.3 使用Requests一般分为三个步骤1.1.4 requests的公共方法 2 Requests库使用案例2.1 GET请求携带参数和headers2.2 POST请求&#xff0c;写…

Cpolar内网穿透工具在windows和Linux上具体使用

Cpolar内网穿透工具在windows和Linux上具体使用 一、Linux上部署的项目通过内网穿透实现外网访问项目二、Windows上部署的项目通过内网穿透实现外网访问项目 一、Linux上部署的项目通过内网穿透实现外网访问项目 一个免费的内网穿透方式&#xff0c;简单方便。 网址&#xff1a…

CCF中国开源大会专访|毛晓光:“联合”是开源走向“共赢”的必由之路

受访嘉宾 | 毛晓光 记者 | 朱珂欣 2023 CCF 中国开源大会&#xff08; CCF ChinaOSC &#xff09;拟于 2023 年 10 月 21 日至 22 日在湖南省长沙市北辰国际会议中心召开。 作为第二届 CCF 中国开源大会&#xff0c;本届大会将组织特邀报告、高峰论坛和领域分论坛等不同类…

智能电表怎么远程读数?

随着科技的飞速发展&#xff0c;智能电表已经成为了家庭用电管理的重要工具。相比传统的电表&#xff0c;智能电表具有远程读数、自动抄表、用电分析等功能&#xff0c;让家庭用电更加便捷、智能。那么&#xff0c;智能电表是如何实现远程读数的呢?下面小编来为大家讲解一下智…

Centos7使用nginx搭建rtmp流媒体服务器

为什么写这篇文章 2023年10月份&#xff0c;公司系统中有个需求&#xff0c;需要使用摄像头记录工程师在维修设备时的工作状态&#xff0c;找到了一家做执法记录仪的厂商&#xff0c;通过厂商发过来的文档了解到该执法记录仪支持通过rtmp协议推流至服务器&#xff0c;第一次接…

F. Vasilije Loves Number Theory

Problem - F - Codeforces 思路&#xff1a;分析一下题意&#xff0c;对于第一种操作来说&#xff0c;每次乘以x&#xff0c;那么nn*x&#xff0c;然后问是否存在一个a使得gcd(n,a)1并且n*a的约数个数等于n&#xff0c;有最大公约数等于1我们能够知道其实这两个数是互质的&…

『Linux项目自动化构建工具』make/Makefile

前言 如题可知,make/Makefile为在Linux下的项目自动化构建工具; 在上一篇文章『Linux - gcc / g』c程序翻译过程 中讲解了C/C程序的翻译过程; 而make/Makefile即可以看成,是Makefile在使用gcc/g使在Linux环境下能够更好的高效率的进行项目构建; 在此之前首先要对make/Makefile…

【2023研电赛】安谋科技企业命题特别奖:面向独居老人的智能居家监护系统

本文为2023年第十八届中国研究生电子设计竞赛安谋科技企业命题特别奖分享&#xff0c;参加极术社区的【有奖活动】分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来领&#xff01;&#xff0c;分享2023研电赛作品扩大影响力&#xff0c;更有丰富电子礼品等你来…

PostgreSQL安装错误:Problem running post-install step

问题描述 安装包&#xff1a;pgpostgresql-14.9-1-windows-x64 postgresql-16.0-1-windows-x64 采取措施 一、 首先安装的是16版本的程序&#xff0c;报错后卸载尝试安装14版本软件&#xff0c;依旧报错。 二、 网上搜索&#xff0c;发现该博客&#xff1a; PostgreSQL安…