git commit-amend踩坑之旅

git commit 将代码提交到仓库

参数:

-m 例: git commit -m " 建议直接不带参数, 然后再直接写日志 "。

这次主要介绍amend参数。因为踩坑比较多。别的参数就不一一列举了。

git commit --amend 修改上一次提交,将两次提交合并为一次提交。

这里,如果你不满意上次的提交,可以修改掉之前写的日志。或者你提交以后,发现自己漏掉了一些东西,但是你只想有一次记录, --amend这个就是个很好的选择。

下面是一个正确使用git commit --amend示例:

可以看到这里只有一次提交。(这里你可以随便去网上搜一下,给的有图例和原因)

让我们看一下线上的提交记录:

再强调一下:git commit --amend 修改上一次提交,将两次提交合并为一次提交。如果你不满意上次的提交,可以修改掉之前写的日志。

但是注意!!!不要试图去修改已push到线上的提交!!!!!!

之前几次诡异的commit记录就是因为我在提交的时候不小心使用了amend参数。

可以看到,第二次git status的时候,它提示我pull一下代码。

下面这张是冲突。可以看下,有点匪夷所思。编辑的时候忘截图啦。我模拟一下,大致是这样。

我们的git commit --amend 命令确实起作用了,但是结果不好懂,所以一定不要试图去修改线上的提交日志!!!

这个是push到线上的提交记录。看一下时间,按正常的理解,第一个和第二个应该是同时,但它是16分钟之前。

所以我们确实修改了上一次提交,又创建了一个新的提交。

这里还牵扯到一个问题,我大致讲下,遇到这个场景的可能性比较小。

关于作者的问题。

你可能会不小心,然后发现,这个我改的代码为什么提交的时候显示的是别人的名字!但点进去以后操作人是你自己。

因为我们的git commit --amend会保留原作者。

解决方法:git commit--amend--author="AUTHOR "

这会儿没有示例,但使用这个命令的时候一定要慎重,不要试图去修改已push到线上的记录!!!

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180126G0A64B00?refer=cp_1026

相关快讯

扫码关注云+社区