如何将整个XCode 8项目切换到先前的提交

时间:2017-06-26 17:56:11

标签: xcode git

我只需要将我的项目还原为之前的Commit。我已经使用XCode的内置工具(和git)进行版本控制。

我也已经看过了:[How to switch entire XCode project to previous commit]但我与SourceTree或Schemes无关。

我已经尝试使用SmatGit恢复,但XCode表示无法理解生成的项目格式。

我在这里尝试了很多命令How to revert Git repository to a previous commit?How do I restore from a previous commit on Xcode 8?

我正在从Udemy课程中学习Tinder Clone,当我添加Facebook SDK时,解析停止让我的USer登录。现在我想删除添加FB SDK的所有添加内容,但是我尝试过的方法到目前为止还没有提供帮助。仍在工作,但我希望有人可以提供帮助。

3 个答案:

答案 0 :(得分:2)

我从不相信Xcode这些操作。会做什么

  1. 退出Xcode
  2. 执行命令提示符并cd到checkout文件夹以查看工作区
  3. 从命令提示符

    运行这些命令之一

    a)git stash
    b)git reset --hard

    如果您执行第一项操作,则可以通过git stash apply

  4. 再次应用您的更改

答案 1 :(得分:1)

“比较文件版本以还原代码行选择视图>版本编辑器>显示比较视图以比较存储库中保存的文件版本。” - Hackless How to restore previous version of code in Xcode

答案 2 :(得分:0)

这是迄今为止我见过的最好的尝试......

#!/bin/sh
#
#  restores an old version of xcodeproject from git repository
#  into folder  $HOME/gitcopy
#  current directory must be the rootdir of the project
#  Xcode should not access the same project at this time
#
set -x
PROJECT_ROOT=.
COPY_DEST=$HOME/gitcopy
if [ -e *.xcodeproj ]
then
    git log
    echo "Which version ?"
    read x
    git checkout $x
    git checkout -b copyVersion
    cp -R $PROJECT_ROOT $COPY_DEST
    git stash
    git checkout master;
else
    echo "No xcode project root folder";
fi 

它来自How to restore previous version of code in Xcode,但是在此过程中丢失的文件超过了必要的数量......

确定.. 这是终极解决方案。 问题是XCode创建了一些我只是通过引用添加的文件,并没有添加到项目中,所以,我认为git不知道它们。

当我最终从项目的旧副本中手动添加Missing(红色高亮)文件时,所有内容都根据感兴趣的提交工作。

感谢您的帮助。

您必须运行脚本,选择所需提交的代码,然后将解决方案复制到〜/ gitcopy 目录中。在XCode中打开项目并从项目的先前副本(或制作引用)中复制任何丢失的文件......