压缩Git的commit记录

栏目: 编程工具 · 发布时间: 5年前

内容简介:当发起一个pr后,发现没有达到预期,会提交多个commit修复问题,这样的结果会造成commit碎片化,而coomit记录压缩(squash)就是为了解决这样的问题。此步的目的是为了查看需要合并哪些提交记录发起变基后,会进入编辑模式

当发起一个pr后,发现没有达到预期,会提交多个commit修复问题,这样的结果会造成commit碎片化,而coomit记录压缩(squash)就是为了解决这样的问题。

查看提交日志

git log

# 进入查看模式后,按q退出

此步的目的是为了查看需要合并哪些提交记录

发起变基

git rebase -i HEAD~<number>

# example : git rebase -i HEAD~4
# HEAD~4的含义是从头部开始追溯4条记录

发起变基后,会进入编辑模式

将需要压缩的commit前面的 pick 改为 squash

:wq      #保存后进入下一个编辑模式查看变更详情
:wq      #继续保存

此时使用 git status 可以查看当前本地仓库状态

解决冲突并保存修改

git pull
# 拉取之后如果有冲突的话,解决冲突后,保存修改

完成变基操作bing并提交远程分支

# 取消变基:git rebase --abort

# 如果没有冲突打断变基的话,不用执行continue
git rebase --continue

git push -f origin branch_name
# 操作完git push 后,会看到压缩情况的信息

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

若为自由故

若为自由故

[美] Sam Williams / 邓楠、李凡希 / 人民邮电出版社 / 2015-4 / 49

理查德·马修·斯托曼(Richard Matthew Stallman,简称RMS)是自由软件之父,他是自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者。作为一个著名的黑客,他的主要成就包括Emacs及后来的GNU Emacs、GNU C 编译器及GDB 调试器。他编写的GNU通用公共许可证(GNU GPL)是世上最广为采用的自由软件许可证,为copyleft观念开拓出一条崭新的道路。......一起来看看 《若为自由故》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具