idea使用 git Reset Head 意外

本文介绍了在IDEA中使用Git Reset操作时遇到的问题及解决方法。作者在commit后执行了git pull,再尝试用git reset回退commit,结果导致工作区与远程仓库冲突。通过分析git reset --mixed的行为,发现它将所有差异混合到工作目录,从而引发问题。解决方案是删除因pull产生的冲突文件,然后顺利进行git pull。文章强调了对git命令深入理解的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

idea使用 git Reset Head 意外

欢迎使用Markdown编辑器

当时执行的操作:

在IDEA中写好代码git commit提交后,在上传远程前先执行了pull,拉取远程最新版本,把服务器仓库的更新拉到本地仓库,更新内容为:在这里插入图片描述
更新后,我发现自己commit 提交的内容少了个文件,想撤销上次commit。
再次执行了操作:项目右键,git – repository --reset HEAD
在这里插入图片描述
HEAD 为 commit的版本号, 意外产生了,再次git pull 会报错,更新取消
在这里插入图片描述
此图为借
并且本地工作区出现了SysDelayQueueLog 文件。
在这里插入图片描述

产生原因:

先看 git reset --mixed HEAD^命令,他的行为是:保留工作目录,并且清空暂存区。也就是说,工作目录的修改、暂存区的内容以及由reset所导致的新的文件差异,都会放进工作目录。简而言之,就是【把所有差异都混合(mixed)放在工作目录中】。

我执行的过程:git commit – git pull – (git reset --mixed);
我reset回退到commit版本,中间pull拉取下来的代码 将作为新的文件差异, 被放进工作目录中。
然后工作区代码 与远程服务代码 名称冲突导致无法再次pull 。
Unstash changes窗口可以不用理会。

还是对git命令不够了解的锅。

参考文章:
Git Reset 三种模式区别
https://www.jianshu.com/p/c2ec5f06cf1a

本问题的解决方法为:
删除 由pull拉取的变成本地工作区的代码;
我就删除SysDelayQueueLog 文件;再次pull 就没问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值