git提交错了怎么办?可能会遇到的误区和正确做法一览

本文讲述了在Git中遇到代码提交错误时如何撤销并解决复位模式下的问题,特别关注了软、中、硬复位的区别以及合并冲突的处理。作者推荐在提交新版本前先拉取远程代码以避免推送冲突。

问题:

在使用git进行代码提交的过程中,难免可能出现提交错误,面对这种情况我们首先想到的是撤销本次提交,具体操作及流程如下:

假设分支目前的状态如下:

在这里插入图片描述

1.当前分支指针指向最新的提交D,假设要回退到提交C,则选中提交C,右击“复位当前分支到这里”;复位时会让选择soft,medium,hard模式,soft和medium都会保留提交D的改动,hard不保留,这意味着选择hard就无法再回到提交D。复位后版本库状态如下:

在这里插入图片描述

2.此时如果将原来的提交D再次放入暂存区,再次提交,我们将这次提交称为D’,然后push到远程,会出现报错:

当前分支落后于远程分支

解决方案

这是因为本地分支目前是基于提交C进行提交代码的,而远程分支的还指向着提交D,因此上本地分支落后了。解决方案也很简单,选择:

合并冲突

由于D’与D的提交内容上相同,因此不需要手动解决冲突,合并后会产生一个新的提交E。最终分支关系如下:
在这里插入图片描述

反思

在进行提交D’的时候,如果先拉取远程代码到本地,同样会提示合并冲突,其实这种方式更好,因为它将冲突的解决放在了push之前,而不是在push过程中。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值