假设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({?}或者选取某次暂存)
当在Git的master分支上有本地修改,需要切换到release分支执行cherry-pick时,可能造成本地修改丢失。正确的流程应当是先使用git stash保存本地修改,切换到release分支进行cherry-pick,再回到master并恢复暂存的修改。若发生覆盖,可以通过Local History回退。此方法确保了分支切换的安全性。
2162

被折叠的 条评论
为什么被折叠?



