今天在想提交单元到分支的时候,因为在 SVN
养成的习惯,喜欢先更新下项目,就是IDEA
里的这个按钮
Move or commit them before merge
,然后打开查看发现在未受控制的项目中Java
文件,当然没含义的就指Class
文件了。问题来了,我TM也不知道这些文件哪里来的……,但是在gitlab
上查看后发现,这些在我本地不受管理的文件
,实际上是真真存在的,这我就懵逼了啊,只能Revert
大法了。
熟练的点击Idea
工具栏中的Git
下的Fetch
,以及Revert Head
,就是下边这俩。
果不其然不可以,总是会弹出来Move or commit them before merge
这个报错,感觉根本就没执行命令,大胆猜测小心证实,我觉得是IDEA
在搞鬼,那我就用命令,谁怕谁,一顿百度,过程就不讲了,命令记录下哈
- 第一步在工程目录下执行
git fetch --all
将最新的代码搞下来
- 第二步执行
git reset --hard origin/XXXX
XXXX
代表目标分支,就是想把本地代码完全恢复到远程的状态的,而hard
可以将本地代码库、暂存区、工作区完全还原为指定的分支内容,缺点就是会把没push
的代码全部搞没了,执行前需要备份下
经过这两部操作后 可以发现本地的代码恢复正常了 哈哈