将SCM添加到Xcode项目但遇到身份验证问题

时间:2012-03-27 05:21:31

标签: xcode version-control

情况是,我在创建项目时忘了在Xcode中选择“使用源代码管理”。然后我发现如果没有选择源代码控制,我无法更新任何内容,但也无法找到可以将SCM添加到我已经创建的项目的位置。重新创建一个新项目是一个愚蠢的想法,所以如果有任何人在PLZ之前遇到同样的问题,请一手:)

更新1:

我尝试使用命令行来设置git存储库并且成功了。但是只是将git添加到项目是不够的,你必须将它作为存储库添加到oragnizer中,以便Xcode可以找到检出或更新代码的位置。然后我遇到了另一个问题:

在Xcode 4用户指南中说:

  

通过抽象常见的存储库操作,Xcode支持Git和Subversion(SVN)存储库,并具有统一的图形用户界面和工作流。根据您的选择,这一个操作检出(对于SVN)或克隆(对于Git)存储库并将其与您的项目集成。

     

在Xcode中克隆Git存储库会在本地系统上设置一个完整的存储库,并将该存储库与您的工作区集成,以便您可以快速开始使用它。无论您是否在线,此方法都可以为您提供分布式版本控制的好处,包括完全提交权限。

它还提供了几个步骤:

  

在存储库管理器中,单击“添加”按钮,然后选择“检出”或“克隆存储库”。

     

输入文件的路径名或URL。

     

当“主机可达”指示灯变为绿色时,单击“下一步”按钮。

     

输入存储库的本地名称,然后单击克隆(或校验)以复制它。

     

选择一个位置,然后单击突出显示的克隆(或结帐)按钮以保存本地存储库。

当我进入第3步时,发出黄色灯而不是绿色灯并说“需要验证”。

我点击了下一个按钮,克隆失败了。然后它显示NOTHING,没有错误日志或通知或其他任何东西。

当我点击上一个按钮时它也没有显示任何内容,所以我认为这是Xcode版本4.3.2(4E2002)的错误。

似乎新手无法发布图片...链接如下:T_T http://i.stack.imgur.com/jWXvx.png

http://i.stack.imgur.com/K6MqG.png

更新2:

此外,我还尝试了“添加存储库”而不是“Checkout或Clone Repository”。它再次给了我相同的通知,但过了一会儿我看到了一盏绿灯。不幸的是,一个标签说“无法加载修订”显示在屏幕的中心,似乎它仍然无法正常工作。

我搜索了这些问题,但找不到任何有价值的答案。

更新3: 我试图重新启动我的MAC和Xcode,然后这个问题自行修复......这很复杂......

3 个答案:

答案 0 :(得分:1)

如果您想使用git作为版本控制系统,请转到终端上的项目文件夹并运行这些命令 -

git init

git add .

git commit -m "Initial commit"

或者如果您想使用SVN作为版本控制系统,请按照

进行操作

1)使用mkdir命令创建一个目录,其中包含三个名为branches,tags和trunk的子目录,用于保存项目的临时副本。
2)将Xcode项目复制到trunk子目录中 3)使用svnadmin create命令创建一个空的Subversion存储库 4)使用svn import命令将项目导入新的Subversion存储库。

示例 -

  mkdir /Repo_Master/Sketch_svn_tmp/trunk
  mkdir /Repo_Master/Sketch_svn_tmp/branches
  mkdir /Repo_Master/Sketch_svn_tmp/tags
  cp -R /Library/MyProjects/Sketch /Repo_Master/Sketch_svn_tmp/trunk
  svnadmin create /Repo_Master/Sketch_svn
  svn import /Users/myUserName/Projects/Sketch_tmp \
  file:///Users/myUserName/Repositories/Sketch_svn -m "Initial import"

答案 1 :(得分:0)

请阅读xcode 4 user guide

中给出的步骤

在本指南中查找“管理项目版本”。他们已经给出了使用一些终端命令将SCM(git& svn)添加到现有项目的方法。

答案 2 :(得分:0)

最后我找到了正确的步骤:

  1. 按照@Saurabh提供的步骤。

  2. 只需重新启动您的Xcode,不要像文档中所说的那样,Xcode会找到存储库本身,并自动管理它。