Git提交日志修改方法实例汇总
情况一:最后一次提交且未push
执行以下命令:
gitcommit--amend
git会打开$EDITOR编辑器,它会加载这次提交的日志,这样我们就可以在上面编辑,编辑后保存即完成此次的修改。
情况二:最后一次提交且已push到服务器
执行以下命令:
gitcommit--amend
gitpushoriginmaster--force
和情况一的做法一样。使用push推送到远程服务器是需要加上--force,让服务器更新历史记录。
需要注意的是:把修改后的日志强制push到Git服务器,如果别人本地的副本有修改,很有可能会导致他们同步不了,所以最好和他们核对下。
情况三:旧的提交且未推送
假设commit是倒数第3次提交,这个可以使用gitlog查看,
$gitlog
commitb1b451d218cc23b6c769f373164f2b89cf54d0aa
Author:clcaza
Date:SatMar1019:09:082018+0800
添加内容d
commit04f0d1809d5d31cc6e930efcba47a5f3f7e93319
Author:clcaza
Date:SatMar1019:08:242018+0800
添加内容c
commit94fc8feb916442d56b558d5c370f18f057298921
Author:clcaza
Date:SatMar1019:07:082018+0800
添加内容a
commitfd517efa9faf6a5ec71d0eac38fbcfa0cd689f40
Author:clcaza
Date:SatMar1019:06:212018+0800init
执行rebase
gitrebase-iHEAD~3
它会打开一个编辑器,它会把最后前3次的提交显示出来,类似于:
pick94fc8fe添加内容a
pick04f0d18添加内容c
pickb1b451d添加内容d
你会看到,它是按提交的顺序显示的,与gitlog显示的顺序相反。定位到你要编辑日志的那一行,把pick修改为edit,然后保存。
接着就是修改日志内容了
gitcommit--amend
完成编辑日志后,记得执行:
gitrebase--continue
Rebase目的是打开提交的历史记录,让您选择要修改的内容。Git会让你在一个新的分支修改内容。gitrebase--continue则是让你重新回到之前的分支。
情况四:旧的提交且已push到服务器
前面编辑日志的操作是和情况三是一样的:
gitrebase-iHEAD~X
gitcommit--amend
gitrebase--continue
X表示倒数第几次提交。
完成编辑日志后,执行push:
gitpushoriginmaster--force
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。