Git reset、revert用法

本文比较了gitreset和gitrevert在删除提交记录时的不同效果:reset会清除所有提交点,而revert只撤销特定提交并保持提交历史。revert更适合保留提交历史记录。

reset

reset是删除之前的提交记录,所有的提交点都会被清除,我们看下执行前后的git log区别

D:\workspace\android>git log
commit 87c1277a57544c53c603b04110e3dde100da8f57 (HEAD -> develop_main)
Author: test <test.com>
Date:   Wed Aug 2 10:33:59 2023 +0800

    个人分支第三个提交

commit 5717ed2c4ef46830d77043d5923f8011b42f02cb
Author: test <test.com>
Date:   Wed Aug 2 10:13:45 2023 +0800

    个人分支第二个提交

D:\workspace\android>git reset 5717ed2c4ef46830d77043d5923f8011b42f02cb
Unstaged changes after reset:
M      util/Util.kt

D:\workspace\android>git log
commit 5717ed2c4ef46830d77043d5923f8011b42f02cb (HEAD -> develop_main)
Author: test <test.com>
Date:   Wed Aug 2 10:13:45 2023 +0800

    个人分支第二个提交

执行完成后发现个人分支第三个提交好像从来没有出现过一样,建议不要使用reset,毕竟会把别人的提交点彻底删除

revert

revert 将指定提交的代码给清除掉,提交记录还存在,相当于添加一个新的提交来恢复到之前旧的提交

D:\workspace\android>git log
commit 5717ed2c4ef46830d77043d5923f8011b42f02cb (HEAD -> develop_main)
Author: test <test.com>
Date:   Wed Aug 2 10:13:45 2023 +0800

    个人分支第二个提交

commit 2d7a084fbab7ee94d4c93bf6aaba4882a62bb7c5
Author: test <test.com>
Date:   Wed Aug 2 10:13:27 2023 +0800

    个人分支第一个提交
D:\workspace\android>git revert 5717ed2c4ef46830d77043d5923f8011b42f02cb
[develop_main 673c8a4] Revert "个人分支第二个提交"
 1 file changed, 1 insertion(+), 4 deletions(-)

D:\workspace\icvp_android>git log
commit 673c8a414db83db6f4e65d659c054d2648bd05cf (HEAD -> develop_main)
Author: test <test.com>
Date:   Wed Aug 2 10:45:49 2023 +0800

    Revert "个人分支第二个提交"

    This reverts commit 5717ed2c4ef46830d77043d5923f8011b42f02cb.

commit 5717ed2c4ef46830d77043d5923f8011b42f02cb
Author: test <test.com>
Date:   Wed Aug 2 10:13:45 2023 +0800

    个人分支第二个提交

可以看出执行后出现一条新的提交,这个提交内容就是抹除个人分支第二个提交

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菠萝加点糖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值