当我的同事更改代码并将其提交到存储库时,我可以看到代码,但 xCode 编译时就好像他的贡献不存在一样

Posted

技术标签:

【中文标题】当我的同事更改代码并将其提交到存储库时,我可以看到代码,但 xCode 编译时就好像他的贡献不存在一样【英文标题】:When my colleague changes code and commits it to the repository I can see the code, but xCode compiles as if his contributions weren't there 【发布时间】:2009-07-15 18:03:07 【问题描述】:

有没有其他 iPhone 开发者经历过这种现象?我可以在 xCode 中看到他的贡献 - 例如,我看到我的同事在我的一个视图控制器周围包裹了一个导航控制器并将其添加到我的标签栏。伟大的!该视图确实需要导航控制器,这是该项目的一个受欢迎的补充。

所以,我编写代码并编译 - 没有导航控制器。我确实构建 - > 清理所有目标,认为可能一些预编译的代码让我搞砸了并再次编译。结果相同。我最终能够通过删除整个目录并将其从存储库中检出来编译他的更改,但我真的不想每次我的同事检入代码时都这样做。 p>

有什么我需要检查的框吗?什么可能导致这种行为?

提前致谢。

【问题讨论】:

【参考方案1】:

以下是一些可能的修复方法:

1) 从模拟器和/或设备上删除应用的当前版本。这在使用 Default.png 或应用程序图标时尤其必要。对于已经“安装”的应用程序,编译器有很多快捷方式。

2) 确保没有任何构建文件夹或用户特定文件(我认为是 pbuser.USERNAME)。这些文件对一些项目造成了严重破坏,我们基本上不得不删除并重新开始。

3) 确保在每次提交之前将所有文件 svn 添加到项目中(尽管这对您当前的问题无关紧要。

4) 查找更改的代码并设置断点以供调试器捕获。我相信在运行时变为黄色的断点表示运行和代码之间存在差异。

我倾向于认为 .proj 文件也会有问题,但听起来不是这样。

【讨论】:

这些都是很棒的提示,尤其是关于黄色断点的提示。【参考方案2】:

需要检查的一些事情(但也许你已经做过了):

新代码是否添加到正确的目标?您仍会在项目树中看到它,但不会编译它 如果您使用的是非 XCode 的 SVN(或 CVS)客户端,您还必须记住提交(和更新).xcodeproject 文件。

【讨论】:

有问题的代码在应用程序委托中,项目文件/目录受版本控制,所以我认为这不是问题。不过,感谢您的意见。【参考方案3】:

您的问题对我来说并不完全清楚,因此请原谅这些后续问题:

您在 Xcode 的什么地方看到了这些变化?在存储库浏览器中,还是在 Xcode 的文件浏览器部分? “升级代码”是什么意思? (我假设您的意思是您选择了“从存储库更新源”选项或其他任何名称 - 我现在不在我的 mac - 但我想我会检查一下。)

【讨论】:

我在 X-Code 的主文件浏览器窗口中看到了变化,我在其中进行了所有的编程。在你的代码中输入 svn up 以从存储库中获取最新版本。

以上是关于当我的同事更改代码并将其提交到存储库时,我可以看到代码,但 xCode 编译时就好像他的贡献不存在一样的主要内容,如果未能解决你的问题,请参考以下文章

git远程存储库包含未合并到本地分支的提交

将代码从 Eclipse 提交到 Git 存储库时无法连接到任何 URI 错误

让实体框架忽略派生类型

在提交到master之前,我可以查看对GitHub托管页面的更改吗?

如何监视远程只读颠覆存储库的提交更改?

项目不会反映本地主机上的更改