当使用CocoaPods导入第三方框架进行iOS应用开发的时候,不要选择 Discard All Changes
因为直接Commit到git时,导入的第三方框架不会被记录,尤其是在使用CocoaPods的时候,选择该选项会导致通过pod install生成的xcworkspace文件直接消失。
commit时应当手动添加第三方库,才能保证Discard All Changes工程文件不消失。
若未添加又想要回滚,更恰当的方式是通过终端以命令行的方式回滚代码。
本地代码库回滚:
git reset --hard commit-id :将代码回滚到commit-id时的状态
git reset --hard HEAD~3:回滚到三次提交之前的状态
从History中可查看Commit状态
若工程文件已经消失,解决方法为:
使用原来的podfile文件再次pod install
打开新的xcworkspace文件,删除掉原先的bringing header文件重新建立,再检查补充图片等素材文件即可解决。
补充:
远程代码库回滚:
这个是重点要说的内容,过程比本地回滚要复杂
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
操作步骤:
1、git checkout the_branch
2、git pull
3、git branch the_branch_backup //备份一下这个分支当前的情况
4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id
5、git push origin :the_branch //删除远程 the_branch
6、git push origin the_branch //用回滚后的本地分支重新建立远程分支
7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支