适用场景:

比方说,你的代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,于是让你修改,通常有2种方法:

方法1:leader 将你提交的所有代码 abandon掉,然后你回去 通过git reset …将代码回退到你代码提交之前的版本,然后你修改出问题的Java文件,然后 git add xx.java xxx.java -s -m “Porject : 1.修改bug…”

最后通过 git push origin HEAD:refs/for/branches

方法2

leader不abandon代码,你回去之后,修改出问题的Java文件,修改好之后,git add 该出问题.java

然后 git commit –amend –no-edit,

最后 git push origin HEAD:refs/for/branches。

当我们想要对上一次的提交进行修改时,我们可以使用git commit –amend命令。git commit –amend既可以对上次提交的内容进行修改,也可以修改提交说明。

举个例子:

Step1:我们先在工作区中创建两个文件a.txt和b.txt。并且add到暂存区,然后执行提交操作:

Step2:此时我们查看一下我们的提交日志:

可以看到我们的提交日志中显示最新提交有两个文件被改变。

Step3:此时我们发觉我们忘了创建文件c.txt,而我们认为c.txt应该和a.txt,b.txt一同提交,而且a.txt文件中应该有内容‘a’。于是我们在工作区中创建c.txt,并add到暂存区。并且修改a.txt(故意写错语法且没有将a.txt的修改add到暂存区):

Step4:我们查看一下此时的提交日志,可以看到上次的提交0c35a不见了,并且新的提交11225好就是上次提交的修补提交,它就像是在上次提交被无视了,修改后重新进行提交了一样:

Step5:此时我们发现a.txt文件修改没有成功,于是我们还得进行一次对a.txt的修改,将a.txt add到stage,然后再执行一次与上一次类似的提交修补:

OK了,git commit –amend的用法大致就是这样。

总结:git  commit --amend 相当于上次提交错误的信息被覆盖了,gitk图形化界面上看不到上次提交的信息,git log上也看不到之前的信息,而add 后再commit 相当于重新加了一个信息。相当于打了个补丁?

作者:shadow雨轩
链接:https://www.jianshu.com/p/a8a2ac58f37d
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载于:https://www.cnblogs.com/FineDay/p/10905417.html

git commit --amend用法(摘抄)相关推荐

  1. git commit --amend 用法详解

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

  2. git commit --amend 修改git提交记录用法详解

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

  3. git commit --amend两种用法

    一.如果已经push到远端服务器,想修改已经提交过的commit信息 1.保存:Ctrl + o; 回车 ;退出:Ctrl + x # git commit --amend 2.重新提交gerrit审 ...

  4. Git之git commit --amend两种用法(五)

    一.如果已经push到远端服务器,想修改已经提交过的commit信息 1.保存:Ctrl + o; 回车 ;退出:Ctrl + x # git commit --amend 2.重新提交gerrit审 ...

  5. 使用Git rebase合并多条提交记录commit。以及使用 git commit amend本地提交直接合并到远程已有commit的用法

    需求场景一 : 对某个小的功能点进行多次反复的修改提交,且已经提交到远程,导致commit记录过多,太过于杂乱无章,想要精简合并一些提交记录. 场景还原: 比如下图4个git commit记录,log ...

  6. git commit --amend的用法

    1.用于修改上次提交.应用场景:在公司,写了一个功能提交到老大,老大看了代码后,眉头一皱balabalba说一堆需要改的地方,你回来改正后,要是直接使用,git add .git commit -m& ...

  7. Git commit 常见用法

        Git commit git commit 主要是将暂存区里的改动给提交到本地的版本库.每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit ...

  8. Git的撤销操作 git commit --amend

    在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...

  9. 【Git】Git 版本管理 ( 补充提交版本 git commit --amend | 版本库提取文件 git checkout -- filename | 删除文件 git rm )

    文章目录 一.补充提交版本 git commit --amend 二.版本库提取文件 git checkout -- filename 三.删除文件 git rm 一.补充提交版本 git commi ...

最新文章

  1. android native java_在Android Native层中创建Java虚拟机实例
  2. HBase 参考指南 3.0 翻译活动期待大家的参与 | ApacheCN
  3. Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs
  4. RabbitMQ简单队列模式
  5. Web安全学习Week5
  6. 谈谈我对Promise的理解
  7. Android小項目之---吃飯選哪?--》選擇對話框(附源碼)
  8. 天天 Java、C/C++,可这五种编程语言你知道吗?
  9. 实验四:用一维数组输出等腰三角形的杨辉三角
  10. seq()函数--R语言
  11. Linux系统安装三菱编程软件,如何安装三菱plc编程软件gx developer
  12. UE4是什么?虚幻4引擎是什么?
  13. 2022 Gartner RPA魔力象限发布,两家国产厂商入选,超自自动化成重点
  14. cocos做飞机大战笔记【敌机发射子弹】
  15. python辗转相除_Python基于辗转相除法求解最大公约数的方法示例
  16. 【南風-视觉】Ubuntu命令行安装QT
  17. 人的计算与机器的计算
  18. 8086段地址为什么是16的倍数?
  19. 官宣!Databend 和 XSKY星辰天合达成合作
  20. .NET家族新成员:G#语言简介

热门文章

  1. 为制造业构建Teams Power App 3:创建制造商UI
  2. 前端框架 Angular 11.0.0 正式发布,不再支持 IE 9 、10
  3. 在C#中引入延迟计算和公平调度
  4. 通过社交网络进行OWIN OAuth2身份验证
  5. 谈判失败:Oracle 杀死 Java EE
  6. php function函数用法,js的function函数是什么?js中function的用法
  7. restFul风格实现CRUD
  8. .net mvc html使用方法,C# ASP.NET MVC HtmlHelper用法汇总
  9. linux 查询mysql编码格式_Linux 修改MySQL编码格式
  10. Java web 应用全局变量_将properties文件的配置设置为整个Web应用的全局变量。