Git---变基(git_rebase)操作之合并多次提交,美化log记录

2024-03-29 16:52

本文主要是介绍Git---变基(git_rebase)操作之合并多次提交,美化log记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

该总结主要用于多个提交,最后做汇总

目的是优化简化log日志

修改历史commit信息记录

 git rebase 常用操作命令

git rebase --continue表示继续下一个冲突或者下一个变基操作
git rebase --skip表示跳过当前冲突或当前变基操作
git rebase --abort表示退出rebase模式

一、改变最近一次提交说明

// 可以直接用 --amend 的属性实现修改最近的一次提交信息
// 1. git add 操作后的文件
// 上次提交时描述错别字想修改:提叫信息 ==> 提交信息
// 2. git commit --amend -m '修正的信息' 
// 或者这样写:
// 2. git commit --amend 会弹出紧邻的上次提交信息,直接修改后(:wq),即可

二、改变多次提交说明

改变一个或者多个历史提交信息

// 这是一条衍生命令,涉及的所有提交都会被重写(即便没有改动对应的记录说明)
git rebase -i HEAD~3
# 这里说明下下面的命令可以依次改动多个命令执行,顺序是依次执行,自上而下!!!
# 不过这里不推荐,尽量一个功能改动执行一次变基操作!!!pick aac47c2 提交getters中token函数
pick 327e0b3 添加fieldId获取方法
pick 933cb5d getters添加userInfo获取方法# Rebase a2cc4e4..933cb5d onto a2cc4e4 (3 commands)

 变基界面里面的命令说明

# Commands:
# p, pick <commit> = use commit
# p: 默认的选项,表示使用该提交,保留该commit,不做任何处理# r, reword <commit> = use commit, but edit the commit message
# r: (会改变hash值)重写提交信息,比如第二个信息前面pick改为r,
#    退出后会进入到另一个编辑界面(包含改为r的信息)
#    这里改的话,改对应的commit信息,退出后直接结束变基操作了,多个r操作(会连续跳进信息修改的)。# e, edit <commit> = use commit, but stop for amending
# e: (会改变hash值)将需要改动的信息pick改为edit(e),之后退出保存。会停留在对应的位置之后执行: git commit --amend 进入编辑页面修改commit信息之后执行: git rebase --continue 去继续操作修改完成rebase流程// 对于多个e的情况,后期尝试是否连续stop!!!(多个e操作,会连续stop的)# s, squash <commit> = use commit, but meld into previous commit
# s: 使用提交,但是合并到先前的提交中。即融合到该列表中的其中未改为s的提交中(暂时理解)
#    最重要的一点,在多个pick、记录里面,去最前面至少要有一个未改动的pick作为根合并的对象# d, drop <commit> = remove commit
# d:移除掉对应的提交,同时对应的改动也会被撤掉!!!慎用!!!

通俗介绍如下图

p,pick:保留该commit(缩写:p)
r,reword:保留该commit,但我需要修改该commit的注释(缩写:r)
e,edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
s,squash:将该commit和前⼀个commit合并(缩写:s)
f,fixup:将该commit和前⼀个commit合并,但我不要保留该提交的注释信息(缩写:f)
x,exec:执⾏shell命令(缩写:x)
d,drop:我要丢弃该commit(缩写:d)经常⽤到的是pick、edit、squash、fixup

 rebase的常用操作:

git rebase --continue表示继续下一个冲突或者下一个变基操作
git rebase --skip表示跳过当前冲突或当前变基操作
git rebase --abort表示退出rebase模式 

友情提示下:

这些变基操作,主要针对当前分支的操作,即主要修改当前分支的提交信息或者优化当前分支的提交信息


不建议将公共分支进行编辑操作,这样会影响到其他的开发者,可以自己分支间操作使用,个人一般用来修改提交历史记录。

这篇关于Git---变基(git_rebase)操作之合并多次提交,美化log记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/859126

相关文章

作业提交过程之HDFSMapReduce

作业提交全过程详解 (1)作业提交 第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。 第2步:Client向RM申请一个作业id。 第3步:RM给Client返回该job资源的提交路径和作业id。 第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。 第5步:Client提交完资源后,向RM申请运行MrAp

hdu2241(二分+合并数组)

题意:判断是否存在a+b+c = x,a,b,c分别属于集合A,B,C 如果用暴力会超时,所以这里用到了数组合并,将b,c数组合并成d,d数组存的是b,c数组元素的和,然后对d数组进行二分就可以了 代码如下(附注释): #include<iostream>#include<algorithm>#include<cstring>#include<stack>#include<que

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

day-51 合并零之间的节点

思路 直接遍历链表即可,遇到val=0跳过,val非零则加在一起,最后返回即可 解题过程 返回链表可以有头结点,方便插入,返回head.next Code /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de