在Xcode 5.0.2中,我尝试从遥控器拉出,并给出以下消息:
“工作副本'项目名'具有未提交的更改。提交或放弃更改,然后重试。”
足够公平。我拉出提交对话框,然后给出消息,“此文件在请求的修订版本中不存在。”单击“确定”将进入提交对话框。 (右侧窗格中没有显示修订版,可能与我收到最新消息的原因相同。)选择平面视图,我看到只有一个修改过的文件:project.pbxproj
。我输入一个提交消息,然后单击“提交1文件”。当我接着拉,我发现我和以前的位置完全一样 - 出现相同的消息,无论多少次提交,我都无法拉(或推)。
好奇,我运行git diff
看只是发生了什么变化。没有。 git status
为我提供了同样有用的输出:nothing to commit, working directory clean
。 git push
或git pull
?是的,那些从命令行工作得很好。
那是什么给出的?为什么Xcode坚持我的工作目录中有变化?为什么不告诉我它们是什么?尝试重启Xcode和系统。虽然我很高兴我仍然有一些推送和拉动的方式,但如果Xcode git集成表现良好,那将是非常好的。有什么想法吗?
我发现了这些类似的问题,但没有一个解决这个问题(或提供可接受的解决方案):
答案 0 :(得分:58)
好的,所以我解决了我的问题。
打开Xcode:
git reset --hard
”git status
重新启动Xcode并进行提交(只是评论或其他内容)
重复上述步骤。
这为我解决了我的问题。
答案 1 :(得分:5)
您必须使用命令行git修复它。转到终端中的工作文件夹,键入:
git status
这将显示哪些文件具有未提交的更改。例如,Crashlytics一旦运行就会自动更新,甚至使用Xcode / Source Control / Discard Changes也无法摆脱它。
一旦看到具有未提交更改的文件(忽略添加的文件),请使用:
git checkout -- Folder/filename.ext
这与" discard"相同在Xcode。
完成后,返回Xcode,您应该可以切换分支。
答案 2 :(得分:0)
应用代码解决方案:
在终端中确认git状态:
git status
VCS> Git>分支...
远程分支> yourBranch>结帐为新的本地分支
通过终端确认修复:
git status
答案 3 :(得分:0)
xCode真的很烂。每次您查看文件时,都会更改一个名为UserInterfaceState.xcuserstate的文件。您可以通过命令行在xCode本身的概述中看不到它。
快速修复:
git add .
git commit -m "Commit"
git push origin master