提示:如果此时有需要新增或改动的文件,可以先把文件添加都暂存区,然后随着git commit --amend命令,一起追加提交 。3)再次查看当前分支的历史提交情况 。
# 1.查看版本库历史提交L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/amend_test (master)$ git log --oneline69a9841 (HEAD -> master) 我是第3次提交,重新修改的message8b3a071 第2次提交,新增内容:git commit --amend v2d3e2d8c 第1次提交,新增readme.txt文件# 2.查看可回退历史提交信息 。L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/amend_test (master)$ git reflog69a9841 (HEAD -> master) HEAD@{0}: commit (amend): 我是第3次提交,重新修改的messagebd4fd48 HEAD@{1}: commit: 第3次提交,新增内容:git commit --amend v38b3a071 HEAD@{2}: commit: 第2次提交,新增内容:git commit --amend v2d3e2d8c HEAD@{3}: commit (initial): 第1次提交,新增readme.txt文件我们可以看到:
- 第三次提交的massage改变了 。
- 看到第三次提交的commit-id由bd4fd48变成了69a9841
- 我们可以看到使用git commit --amend命令,表面上没有生成新的提交,只是进行了内容的追加 。但实际上通过git reflog命令查看历史提交记录,我们还是看到了,其实是新生成了一个commit 。
说明:(2)场景二场景描述:
- 关于git commit --amend命令原理,往下看 。
- 关于如何修改更早提价的message,看后面的git rebase文章 。
假设新接到需求,需要基于master分支拉取一个feature分支,且这个feature分支只有你自己使用(这一点极其重要),由于开发周期较长,你不想每一次提交都产生一个新的commit,而是想每一次commit都修改前一次提交(一直追加提交) 。
这样做的好处是,等到你的feature分支提测时,就只有一个干净的commit,没有乱七八糟的提交历史,你只要把这一个commit合并到master里就好了。
操作步骤:
在feature分支上:
- 第1次提交代码时,使用命令git commit -a -m "第1次提交的注释"进行提交 。
- 【『现学现忘』Git后悔药 — 34、git commit --amend 命令】第2次以及只后的提交,使用命令git commit --amend -m "这里填写提交的注释"进行提交 。这样整个分支可以只有一个commit 。
不推荐这样操作,多次提交可以使你选择撤销的余地比较多,简化提交次数是比较好的想法,但更推荐使用git rebase命令进行操作 。
这里就不演示了 。
3、git commit --amend 命令原理git commit --amend这个命令给人的感觉,是用新提交的数据,追加到了前一个commit上 。
其实git commit --amend命令底层原理如下:
前提:你把遗漏提交的文件,或者修改的文件先提交到暂存区 。
- git reset --soft HEAD^:回退一个版本,且工作区和暂存区中的内容不会退 。
- git commit -c ORIG_HEAD:提交操作 。在根据此时的暂存区生成一个新的提交对象,代替原来提交的位置 。说明:-C <commit>,全称--reuse-message=<commit>:获取现有的提交对象,并在创建提交时重用现有提交对象的日志消息和作者信息(包括时间戳) 。-c <commit>,全称--reedit-message=<commit>:与-C类似,但是-c会调用编辑器,以便用户可以进一步编辑提交消息 。
经验总结扩展阅读
- 二 『现学现忘』Git后悔药 — 33、revert撤销
- 一 『现学现忘』Git后悔药 — 32、revert撤销
- 如何评价上白石萌音翻唱的『なんでもないや』
- 一加6详细评测 一加6手机怎么样
- 现学现用WPS Office,小技巧大帮助
- 本文转自:扬州日报55年相濡以沫 他用笔记录婚姻 『最好的模样』
- 安欣|《狂飙》强哥开始“反击”,陈书婷凭实力助他“上位”
- 本文转自:扬州日报卖菜老汉捡来女婴含辛茹苦养大 扬州版『搭错车』尽显人间真情
- 『心理学上有个名词叫做“标签效应” 既然你不想过了,那就别过了,离婚吧,我去跟别人过!
- 01一位大龄剩女和凤凰男分手的原因:『我跟前任分手之后 不爱你的男人,即便你把他拉黑了,他也不会主动找你