标签为“Git”的页面如下
文章
GIT反转提交
场景:Git rebase可以更改提交历史,但是在多人协同的场景下,更改历史只能针对自己的版本库,无法修改别人的版本库。在这种情况下想要修正一个错误历史提交的正确做法是反转提交,重新做一次提交操作,相当于用错误历史的反向提交,来修正错误的提交。
1 2 3 4 #反转提交最后一次提交 Git revert HEAD #反转提交最后一次提交的前一次 Git revert HEAD^
文章
Git多步悔棋
上一篇讲到Git commit --amend单步悔棋的实现,是由Git reset --soft别名而来,这篇将讲解如何利用Git reset --soft多步悔棋 操作步骤 1.实用soft参数调用重置命令,回到指定的提交之前
1 Git reset --soft HEAD^^ 2.查看版本状态和提交日志,可以看出最后的两次提交被
1 2 Git status Git log -l 3.执行提交操作
1 Git commit -m 'this is soft commit' 4.看看提交日志,“多步悔棋”操作成功
文章
深入浅出'Git commit --amend'
Git能够提供悔棋的奥秘在于Git的reset命令。Git commit --amend 可以理解为Git reset 的alias。
1 Git commit --amend ‘this is amend commit’ 等价于
1 Git reset --soft HEAD^
文章
Git单步悔棋操作
本篇要点
1 Git commit --amend 此命令简单来讲,就是Git的悔棋操作,我工作中最常见的场景
1.写完一段代码 Git add,Git commit 2.发现一些注释不够完整,或者发现一些错别字 3.改了后再次 Git add,Git commit 4.完事
这个时候问题就来了,对于一个处女座来说,以上的同一件事情产生了两个commit。强迫症就犯了。辣么学会了Git commit的–amend参数你就可以解放了。Git commit –amend可以将本次提交和最后一次提交完美融合。是不是处女座的福音?!
manpage解释:
–amend Replace the tip of the current branch by creating a new commit. The recorded tree is prepared as usual(including the effect of the -i and -o options and explicit pathspec), and the message from the original commitis used as the starting point, instead of an empty message, when no other message is specified from the command line via options such as -m, -F, -c, etc.