记一次Intellij的误操作(update projects)
程序员文章站
2022-06-13 19:23:46
...
IntelliJ IDEA的shelve的功能
Intellij idea里面使用git,stash、shelve分别是什么意思?我更新以后本地写的那些代码没了。
昨天在辛辛苦苦的敲了一天,可是点击一直非常信任的update projects 按钮之后,一下子就回到*了。。
痛下狠心的我决定好好学习下其中的原理!
clean working tree before update
-
stash 是当你当前开发的代码不想提交的时候又需要切换到其他分支开发的时候,可以将当前代码保存到堆栈中,等到下次切换回该分支的时候可以从堆栈中恢复回来。
-
shelve 是 intellij 提供暂时保存代码的一种功能
Update Type
- Merge:合并
- Rebase:保留本地代码
- Branch Default:保留仓库代码
解决
git stash和shelve都是讲更新内容为优先级最高执行的,将本地代码暂存搁置,
问题是文件有冲突被合并覆盖了,出现这个问题时要执行
git stash
git pull
git stash pop
git diff -w +文件名
你本地的代码是肯定会有记录的,能找回的,local history就可以
通过 Local History 找回
项目右键 --> Local History