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到线上的记录!!!
领取专属 10元无门槛券
私享最新 技术干货