git 发生冲突的处理办法

用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里面有这个文件就行。




你可能感兴趣的:(git 发生冲突的处理办法)