如何在Xcode中恢复以前版本的代码

Vic*_*gel 17 xcode restore commit

我正在使用Xcode中的Objective C项目,需要还原到源代码管理中提交的先前版本.我怎么做?我可以找到有关如何提交和推送的信息,但没有关于如何恢复到旧版本的信息.

mls*_*ent 27

您无法在Xcode中立即恢复整个项目,但您可以从终端执行此操作; 只需cd进入你的项目文件夹并输入git log来找到你正在寻找的哈希,然后执行git checkout [ hash ].


Hac*_*ess 13

来自Apple的文档,访问https://developer.apple.com/library/ios/documentation/ToolsLanguages/Conceptual/Xcode_Overview/Save_and_Revert_Changes_to_Files/ManageChanges.html

"比较文件版本以恢复代码行选择视图>版本编辑器>显示比较视图以比较存储库中保存的文件的版本.使用跳转条根据它们在存储库中的位置选择文件版本.每个跳转栏控制选择对于上面的内容窗格.要显示版本,浏览层次结构以找到它,然后单击以选择它.阴影区域表示版本之间的更改." "您可以使用版本时间轴根据其时间顺序选择文件版本.单击中间列中的时间线查看器图标(../art/TimeLineIcon_2x.png)以显示两个编辑窗格之间的时间轴.向上移动指针或者通过时间线浏览可用的版本.当找到所需的版本时,单击左或右指示器三角形以在相应的编辑器窗格中显示该版本.您可以在版本编辑器中编辑该文件的当前工作副本如果要在版本之间还原更改,可以从旧版本复制代码并将其粘贴到当前版本中."

最后一行显示了密钥:复制粘贴.

  • 哇.Apple绝对应该让这更直观.如果Xcode可以在某个地方保存您的代码,那么您有望获得它,对吧?还是那只是我?伟大的工作Apple.我要提交功能请求. (3认同)
  • 我不认为这是一个解决方案,因为你无法以合理的方式对所有文件执行此操作.没有代码的故事板和其他文件怎么样?我认为更聪明一点:不,你不能这样做,终端是唯一可以访问所有git命令的地方,但你可以回到单个文件并复制和粘贴更改. (3认同)

And*_*ndy 9

在Xcode 9中,您可以签出任何以前的版本.

  1. 单击左侧导航器部分中的源控件图标,或转到view-> navigators-> Show source control navigator.
  2. 将显示所选分支的所有提交的列表.
  3. 右键单击所需的提交,然后选择"Checkout"commitID"'

您也可以直接从那里创建一个分支,在某些情况下可能更有用