Discard all changes 导致工程文件消失

当使用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 //如果前面都成功了,删除这个备份分支



你可能感兴趣的:(ios,框架,git,swift)