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,一经查实,立即删除!

相关文章

Vue脚手架开发流程

一、项目运行时会先执行 public / index.html 文件 <!DOCTYPE html> <html lang""><head><meta charset"utf-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&quo…

java学习--day25(反射)

文章目录 今天的内容1.反射1.1获取Class对象1.2获取Constructor对象1.3获取Method对象1.4获取Field对象 今天的内容 1.反射【重点】 1.反射 反射很重要&#xff0c;咱们以后进行封装的时候都有必要书写反射&#xff0c;让咱们的代码具有更强普适性 Java反射是在动态的获取类&am…

粘性文本整页滚动效果

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

一致性哈希算法

普通取模算法 假设我们有三台缓存服务器&#xff0c;用于缓存图片&#xff0c;我们为这三台缓存服务器编号为 0号、1号、2号&#xff0c;现在有3万张图片需要缓存&#xff0c;我们希望这些图片被均匀的缓存到这3台服务器上&#xff0c;以便它们能够分摊缓存的压力。也就是说&a…

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是一个非常强大的…

【TypeScript】阮一峰TypeScript教程笔记:基本用法、any 类型等、类型系统

是阮一峰 TypeScript 教程的笔记。笔记目录与教程目录一致。笔记不全&#xff0c;仅作自己学习使用&#xff0c;完整学习请看&#xff1a;阮一峰 TypeScript 教程或TypeScript官方文档。 文章目录 简介基本用法any 类型&#xff0c;unknown 类型&#xff0c;never 类型any 类型…

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开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

vsftpd使用

安装vsftpd yum install vsftpd -y版本&#xff1a;3.0.2三种访问方式&#xff1a;匿名访问、本地用户访问、虚拟用户访问 虚拟用户访问配置 # 1. 配置虚拟用户 cd /etc/vsftpd mv vsftpd.conf vsftpd.conf.bak grep -v "#" vsftpd.conf.bak > vsftpd.conf ech…

利用互斥锁实现多个线程写一个文件

代码 #include <stdio.h> #include <pthread.h> #include <string.h> #include <unistd.h>FILE *fp;//线程函数1 void *wrfunc1(void *arg); //线程函数2 void *wrfunc2(void *arg); //线程函数3 void *wrfunc3(void *arg);//静态创建互斥锁 pthread_…

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;写…

(8)SpringMVC中的视图类型及其特点,以及视图控制器view-controller的配置

SpringMVC的视图 转发和重定向的区别及其原理,参考文章 视图类型及特点 视图的作用就是将Model中的数据渲染到页面上并展示给用户,SpringMVC中视图对应的View接口有三种实现类对应三种视图解析器 默认有转发视图InternalResourceView和重定向视图RedirectView以及Thymeleaf…

edu 156 div2 c

#include <bits/stdc.h> using namespace std; using ll long long; void solve(){string s;cin>>s;//s s;ll t;cin>>t;//t--;ll pos,k;ll len 0;for(int i 0 ; i < s.length() ; i){if(len s.length() - i > t){pos t - len;//第几个字符k i;…