0


git 修改与整理commit记录

经常碰到git commit后感觉不合适,需要修改commit 的情况,网络上一顿搜索,然后修改。

今天趁着有时间,总结一下,方便以后查阅。

一:准备工作

建立一个本地仓库,修改多次,提交多次

1:新建文件夹并初始化 coding_demo

mkdir coding_demo && cd coding_demo && git init

2:添加记录

(1)文件夹添加文件,并提交,循环4次,然后git log看日志

touch txt1.txt && git add . && git commit -m 'add txt1'
touch txt2.txt && git add . && git commit -m 'add txt2'
touch txt3.txt && git add . && git commit -m 'add txt3'
touch txt4.txt && git add . && git commit -m 'add txt4'
git log

如下图所示

二:开始干正事

1:将最后一次提交的记录改为 fix a bug

git commit --amend

弹出类似VIM界面后,键盘按下“i”进入编辑模式,将“add txt4”修改为“fix a bug”,键盘按下ESC退出编辑模式,然后键盘按下":wq"即保存退出。跟VIM界面一样,然后再次

git log

如无意外,日志修改成功了。

2:将第二次的日志改为 init

(本来想把第一次的commit修改为init,可是尝试多次都不行,再者说这需求自己也用不上,舍弃)。

采用 git rebase -i ,常看log,注意:改第二次的commit,那么就要定位到第一次提交的HEAD。如下操作:

git rebase -i a6be63fc0a203cce8e6fdd94731507721a561a70

弹出以下窗口:

选项注释如下:

pick:保留该commit

reword:保留该commit,但修改该commit的注释

edit:保留该commit, 但停下来修改该提交(不仅仅修改注释)

squash:将该commit和前一个commit合并

fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息

exec:执行shell命令

drop:丢弃该commit

修改如下(不需要修改commit,因为一会还要弹出修改界面),然后保存退出

然后,弹出修改界面:

修改如下,保存退出

再通过git log查看信息,已经改过来了

3:将前三次的commit合并,保留注释信息

git rebase -i HEAD~3

修改如下,即把第三次、第四次的commit合并到第二次合并

弹出以下界面

修改如下:

最后git log查看,修改成功(log内容也可以修改也可以删除):

4:恢复

rebase错误了,可以采用以下指令:

git reset --hard HEAD

HEAD就是以下红色指向

标签: git github

本文转载自: https://blog.csdn.net/yushiqian2012/article/details/128655270
版权归原作者 laixiong_embed 所有, 如有侵权,请联系我们删除。

“git 修改与整理commit记录”的评论:

还没有评论