用git stash之后,想用git stash pop把代码恢复,结果出现error:
error: Your local changes to the following files would be overwritten by merge:
SmartKTV.xcodeproj/project.xcworkspace/xcuserdata/huziqin.xcuserdatad/UserInterfaceState.xcuserstate
Please, commit your changes or stash them before you can merge.
这个其实是被修改过的,需要用checkout命令把它还原回来:
$ git checkout SmartKTV.xcodeproj/project.xcworkspace/xcuserdata/huziqin.xcuserdatad/UserInterfaceState.xcuserstate
这样再执行:
$ git stash pop
就可以成功恢复回来原来的样子。
有时候改动得比较多,想全部清零:
git reset HEAD
然后用
git checkout .
这样就会把所有修改恢复原来的状态,当然就是放弃所有修改。
有时侯新加的文件如果没有提交过会有这个error:
error: The following untracked working tree files would be overwritten by merge:
SmartKTV/JSONKit.h
SmartKTV/JSONKit.m
那就需要把本地的删除掉
$ rm SmartKTV/JSONKit.*
然后再调用
$ git stash pop
就可以恢复回来,不会搞丢的,只要stash里面有这个文件就行。