2011-03-14 74 views
4

嘿, 我现在正在使用Xcode 4几个星期。来自Xcode 3并且看到所有新功能真是太好了。我喜欢git集成。但是我有这个问题。 我从一个本地git仓库开始的最新项目。这一切工作正常,我做了多次提交。我想获得我的项目的旧版本。所以我尝试使用Pull。但只要我点击该按钮,我得到以下信息:Xcode 4 git集成

The operation could not be performed because access to the repository "/Users/***/Desktop/TestClone" was denied. 

Check your name and password and try again. 

的问题是,我没有在任何地方定义名称和密码。我怎样才能在我的项目中获得一个州的副本? 结帐按钮始终显示为灰色,因此我无法点击该按钮。

任何帮助,将不胜感激。 :-D

回答

14

您不应该使用'pull ...'命令来“返回”(检出)旧版本的代码。

'pull'和'push'命令用于将本地存储库与“原始”远程存储库进行同步。当你“克隆”一个原始的远程仓库以便与其他程序员协调你的改变时,通常会使用这个特性。

如果您从头开始创建项目,则不会有任何远程存储库推入或拉出。

回到原来的问题,据我所知,除非您为该提交创建了新的分支,否则Xcode 4将不会让您检出用户界面中较早的提交。不过,你可以通过命令行来完成。为此,使用以下命令从项目文件夹

$ git log --format=oneline 

得到你想要去犯的哈希码,然后用:

$ git checkout desired-hash-code 

检出特定版本。一旦出现,您可以进行测试,更改,并可能创建一个新的分支。如果您在不创建新分支的情况下执行提交,那么您将失去当前分支中较新的提交。如果你想回去的最新提交已执行的旧版本使用了一些测试后:再次

$ git checkout master 

请注意,如果你从你的旧代码版本的新承诺,这将无法正常工作,而无需创建新分支,因为当前分支中的更新提交得到解除引用。

如果你是新来的Git,我会读这些文件:

我也想强调这两个:

干杯。

+5

顺便说一下,您可以在不关闭Xcode 4中的项目的情况下使用所有git命令,因为它会很乐意重新载入更改后的文件。 – 2011-03-19 21:12:09

+0

非常感谢您的解释。它真的帮助了我。我会尝试一下。是的,我是git的新手。我以前曾经使用过颠覆......我会阅读这些文档。 :-D – 2011-03-23 15:59:54

+0

以及评论没有出来......再试一次。这里是一个列表,我不得不去经过我的旧提交:cd /Users/yourName/Desktop/yourApp/.git然后,因为我只能在旧的开发人员文件夹/ Developer \ 4.1/usr/bin/git log中找到git - -format = oneline所以现在你看到哈希...然后/ Developer \ 4.1/usr/bin/git重置505bd4eb95ddedaf0a165b706d8ec556fc728574(或者你的哈希是什么) – hokkuk 2012-03-19 01:00:12

0

我认为问题在于你正在更新打开项目的项目文件。您可能必须关闭项目或退出Xcode,才能使用命令行或DTerm(而不是Xcode内)检出项目的较早版本。

+0

谢谢您的回答。我不是很习惯混帐。这是我第一次尝试使用它。你能告诉我如何用命令行检查一个项目吗?那太好了。 :-D – 2011-03-14 20:28:39

1

如果您已经创建了分支,您可以使用Xcode中Organizer的Repositories选项卡恢复到分支点。具体方法如下:

  1. 从Xcode中,通过转到窗口菜单 - >管理,或按键盘快捷键打开管理器中,按住Shift +加利福尼亚+ 2
  2. 点击库顶部的工具栏
  3. 在上查看在右侧的导航窗格中,单击相应项目的工作目录(它将有一个蓝色文件夹图标)
  4. 在管理器窗口的左下角,单击Switch Branches按钮。
  5. 将出现一个弹出窗口,允许您选择要使用的分支;选择所需的分支,单击确定,Xcode将所有文件同步到该分支。

而且,看到https://developer.apple.com/library/mac/#recipes/xcode_help-repositories_organizer/articles/SwitchingBranches.html的视频指南