今天是国庆假期后第一天上班,一来,老大就叫我更新一个版本上去(没放假前,做了一些修改)。因为每次更新版本打包,我们老大都会叫我们把Git上的分支合并到主支上,并删除分支。以后修改的话再重新创建分支在上面修改,反复如此。
以前本来也没啥问题,今天突然就给蹦出一些奇葩问题。由于我使用Git也没多久,所以了解的也不深,自己就通过谷歌各种折腾,网上啥解决方法都有,不过有用的也没几个。好了,废话不多说了,进入正题。
出现如下错误:
The local repository is out of date.
Make sure all changes have been pulled from the remote repository and try again.
解决方法:
git reset --hard
git pull
其中“git reset”命令既可以回退版本,也可以把暂存区的修改回退到工作区。当我们用“hard”时,表示最新版本。
“git pull”命令的作用是:取回远程主机某个分支的更新,再与本地的指令分支合并。
惹人烦的.xcuserstate
当你每次编译项目的时候老是提示.xcuserstate的修改,你肯定觉得挺烦的,而且又无关紧要,所以我们来忽略这个文件修改的提示:
首先创建.gitignore,在.gititnore里编写*.xcuserstate。
touch .gitignore
vim .gitignore
当你完成以上两步时,你重新编译还是会提示.xcuserstate的修改,所以还需以下两步:
git rm –cached Test.xcworkspace/xcuserdata/apple.xcuserdatad/UserInterfaceState.xcuserstate
git commit –m “Removed file that shouldn’t be tracked”
再重新提交下项目,至此,我们就把那个惹人烦的.xcuserstate的提示忽略掉了。
想了解更多的git命令,可以查看Git远程操作详解或学习Git命令。
以上是我爬过的坑,后面有再遇到新的坑将会继续更新的!!!
参考文献:
廖雪峰的官方网站--Git教程
How do I ignore the following error message on git pull?
Git中忽略UserInterfaceState.xcuserstate的方法
Git .gitignore文件的使用