我只需要将我的项目还原为之前的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的所有添加内容,但是我尝试过的方法到目前为止还没有提供帮助。仍在工作,但我希望有人可以提供帮助。
答案 0 :(得分:2)
我从不相信Xcode这些操作。会做什么
从命令提示符
运行这些命令之一 a)git stash
b)git reset --hard
如果您执行第一项操作,则可以通过git stash apply
答案 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中打开项目并从项目的先前副本(或制作引用)中复制任何丢失的文件......