详解git commit --amend 用法

所属分类: 网络编程 / 其它综合 阅读数: 532
收藏 0 赞 0 分享

有时你提交过代码之后,发现一个地方改错了,你下次提交时不想保留上一次的记录;或者你上一次的commit message的描述有误,这时候你可以使用接下来的这个命令:git commit --amend。

git功能十分强大,接下来我将讲解一下git commit --amend命令的用法~

git log之后,可以看到你之前提交过的git历史:

接下来,在bash里输入wq退出log状态,执行:

$ git commit --amend

这时bash里会出现以下内容:

其中,second commit是你上次提交的描述,下面是一下说明信息,有告诉你上次提交的文件信息等等,可忽略。接下来你要是想修改描述信息的话。直接键入:i,此时进入了输入模式,变成这样子:

可用键盘上下键转到描述所在的那一行,然后进行修改:

修改完成后,按下 Esc键退出编辑模式,在键入 :wq 回车退出并保存修改,完成提交。这是你再git log 看一下提交日志:

已经修改了提交描述信息,且原来的git版本没有了~~~喜大普奔!!你完成~~

但是有个地方要注意,就是该操作会改变你原来的commit id哦。

适用场景:

场景1.本地开发代码已提交,提交后发现这次提交的代码有问题,或者漏提交了一些文件,此时,希望达到以下目的:

①修改有问题的代码。

②补足漏提交的文件(一般是新增的文件没有git add .)

③把以上2点相关的代码,和前一次提交的代码合并成1个提交。

④给合并后的这个提交添加新的注释。

解决办法:

--》修改问题代码

--》git add . (把漏提交的文件假如暂存区)

--》执行git commit --amend -m "这里填写提交的注释"

场景2.新接到需求,需要基于master分支拉取一个feature分支,且这个feature分支只有你自己使用(这一点极其重要),由于开发周期较长,你不想每一次都产生一个新的commit,而是每一次commit都修改前一次提交,这样做的好处是,等到你的feature分支提测时,就只有1个干净的commit,没有乱七八糟的提交历史,你只要把这1个commit合并到master里就好了 。

解决办法:在feature分支上,

第1次提交代码时,使用git commit -am "第1次提交的注释"

第2次以后提交代码时,使用git commit --amend -m "这里填写提交的注释"

这样,整个分支可以只有1个commit。

更多精彩内容其他人还在看

GitHub 热门:别再用 print 输出来调试代码了

本文给大家分享GitHub 热门:别再用 print 输出来调试代码了的详细解说,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

将来会是Python、Java、Golang三足鼎立的局面吗

python的优势在于数据处理和人工智能等方向,所以go只可能吞噬Java的份额,很难撼动Python的奶酪,所以将来会是Python、Java、Golang三足鼎立的局面吗
收藏 0 赞 0 分享

EventStore文件存储设计详解

ENode是一个CQRS+Event Sourcing架构的开发框架,这篇文章主要介绍了EventStore文件存储设计 ,需要的朋友可以参考下
收藏 0 赞 0 分享

简单实用的aixcoder智能编程助手开发插件推荐

本文给大家分享一款简单实用的aixcoder智能编程助手开发插件推荐 ,需要的朋友可以参考下
收藏 0 赞 0 分享

分享4个最受欢迎的大数据可视化工具

大数据可视化是进行各种大数据分析解决的最重要组成部分之一。这篇文章主要介绍了4个最受欢迎的大数据可视化工具,需要的朋友可以参考下
收藏 0 赞 0 分享

Spark在Windows下的环境搭建方法

这篇文章主要介绍了Spark在Windows下的环境搭建方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Django 使用 cookie 实现简单的用户管理功能

这篇文章主要介绍了Django 使用 cookie 实现简单的用户管理功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

eBay 打造基于 Apache Druid 的大数据实时监控系统

Apache Druid 是一个用于大数据实时查询和分析的高容错、高性能开源分布式时序数据库系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。这篇文章主要介绍了eBay 如何打造基于 Apache Druid 的大数据实时监控系统?需要的朋友可以参考下
收藏 0 赞 0 分享

人工智能(AI)首选Python的原因解析

Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具。Python 已经是数据分析和 AI的第一语言,网络攻防的第一黑客语言,正在成为编程入门教学的第一语言,云计算系统管理第一语言
收藏 0 赞 0 分享

Hadoop分布式集群的搭建的方法步骤

这篇文章主要介绍了Hadoop分布式集群的搭建的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享
查看更多