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 就没问题了。