无法提交更改到本地git仓库

17

我创建了一个新项目,并勾选了“创建本地git仓库”的选项。我打开组织器查看我的项目是否有仓库,确实有。我对一些文件进行了更改,注意到了源代码控制特定的字母“M”、“A”,但是当我选择:文件->源代码控制->提交时,XCode 4.2给出以下消息:

无法执行操作,因为找不到有效的工作副本

请验证您的文件是否在源代码控制之下并重试

然而,我再次打开组织器,发现我的项目仓库左侧栏目有三个图标:分支、远程和与项目同名的文件夹。我选择最后一个(文件夹)并按下组织器底部栏的提交按钮。提交窗口打开,我成功地进行了提交。现在,当我关闭组织器并编辑我的项目中的一些文件时,我不会看到每个修改文件旁边的源代码控制特定字母“M”...“A”...

我的问题涉及两个方面:

1) 为什么我不能从文件->源代码控制->提交菜单选项进行提交?

2) 当我从仓库本身提交,并返回到项目并编辑某些文件时,为什么我不会看到修改文件旁边的源代码控制字母?


1
我认为这是Xcode 4.2的一个bug,我通过退出Xcode,然后打开组织者,再关闭它来解决了这个问题,现在我可以从文件->源代码控制->提交修改文件而没有问题。 - JAHelia
有什么办法解决这个问题吗?我尝试了上面的建议,但没有起作用。 - adit
5个回答

24

就目前而言(正如@Jahelia的评论所提到的),这似乎是XCode 4.2在第一次使用git时出现的bug。解决方法似乎是至少关闭Xcode并重新打开。(如果这样不起作用,请尝试打开和关闭组织者。)

今天我自己尝试Git与Xcode配合使用时也遇到了这个问题。我使用“创建本地git存储库”选项创建了两个演示项目,它们都有同样的问题。我能够从组织者窗口提交,但主要的Xcode文件视图似乎根本没有识别到git。

退出并重新启动后,我使用git选项创建了第三个演示项目,主窗口在构建后立即识别到了更改,即在修改文件旁边显示了“M”。


2
无法相信这个 bug 还在那里。 - Kishor Kundan

1

我曾经遇到并解决了这个问题。

我无法告诉你是什么原因导致的,但值得注意的是,在我的“组织者”中的“存储库”视图中,我有两个名称类似的存储库。它们之间的不同之处在于路径中一个字母的大小写。

一个是“〜/工作/代码/屁眼”,另一个是“〜/work/Code/Bumhole”。

我通过提交对存储库的许多更改时XCode崩溃,从而引起了问题。

我通过以下方法解决了问题:

  • 关闭有问题的项目
  • 关闭Xcode
  • 重新启动电脑
  • 重新打开Xcode
  • (如果打开了项目,请先关闭)
  • 打开“组织者”视图
  • 选择“坏”的存储库,并使用退格键将其删除
  • 浏览剩余的“好”存储库,直到看到.xcodeproj文件
  • 双击.xcodeproj文件以打开项目

我希望这个列表包含了解决问题所需的所有步骤,但这对我有效。


0

这个 bug 在使用 Subversion 以及 Xcode 4.6.3 仍然存在。


0

我知道这个问题已经有答案了,但是这个方法对我有效:

打开终端

cd yourprojectdirectory
git config --global user.email "youremail@email.com"
git config --global user.name "username"

0

如果您的项目在/Developer/...中,请将其移动到其他位置,然后重新打开项目。这可能会解决您的问题。

在Xcode 4.2中,存在一个与位于/Developer/...中的项目和git集成相关的问题(您会收到错误信息:“由于找不到有效的工作副本,无法执行操作。请验证您的文件是否在源代码控制下,并重试”)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接