假设git 有 master 和 release 两个分支,开发及本地修改在master上,如果需要使用cherry_pick等功能(不使用git bash)直接checkout,如果release和本地有冲突或者没有新打开一个idea的窗口,可能导致本地修改被覆盖
修复方法
1.右键工程目录,选择local_history >>> show history
2.选择被覆盖的部分,右键revert回退,或者根据其中的文件部分回退,修改也可以
正确做法
最简单也是最正确的方法是:
- git stash 暂存本地修改
- git checkout release 切换分支
- cherry pick XXXXXXX(hash id) 或者merge 合并某次提交或分支
- git checkout master 切换回原分支
- git stash pop({?}或者选取某次暂存)