git 修改与整理commit记录

目录

一:准备工作

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

 2:添加记录

二:开始干正事

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

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

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

4:恢复


经常碰到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就是以下红色指向

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laixiong_embed

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值