XCode / Git,已更新文件的状态未在源代码控制中更新

5

我遇到了一个很多人可能也有的问题。我正在使用一个第三方库,当厂商发布新版本时,我需要在项目中更新头文件等内容。但是,XCode没有替换文件的功能,因此我们必须将旧文件删除并再次复制新文件到项目中。然而,自从我这么做之后,我有一个头文件一直处于添加状态,还有一个资源包(来自SDK的包含图像和声音文件的目录),当我想提交整个项目时,它告诉我它不存在。

你有什么好的想法可以帮我清理这个混乱的情况吗?我向苹果提出了增强请求,因为我认为在项目中替换文件是必要的功能。


好的,通过添加两个空目录(现在我无法再删除它们了,猜测需要向其中添加一个文件?)解决了不存在的文件问题。 - renesteg
你的 Git 项目输出是什么?终端命令:git status。 第二步:权限问题,请尝试使用 chmod 命令。 我希望在你提交新库之前,你已经创建了一个分支。 - theforce
1个回答

1

哦,是的,Subversion 的问题... 我最后的办法是:删除本地文件,拉取最新版本,然后再重新应用更改。对我来说,这些问题通常发生在添加或删除文件夹时。所以我首先在服务器上添加/删除相关文件(通常我在这种情况下使用第三方应用程序,例如 gitboxSourceTree),然后再尝试同步。

通常情况下,在一个项目中可以有多个 Git 仓库(将库检出到您的项目中),但我个人不喜欢这样做。相反,我将第二个仓库放在另一个目录中,并将这些文件作为链接引用添加(添加新文件时可以选择的选项 -> 取消选中 "将项目复制到目标组文件夹中")。每当库发生更改时,它将自动应用于您的项目。缺点是它不会自动检查是否有更新可用。另一方面,使用旧库可能比使用新库更安全(每次更新库时,理论上都必须测试整个应用程序以查找错误)。

回到你的问题。在许多情况下,创建一个新的存储库结构会更容易。备份当前状态并删除存储库(本地或远程)。然后将文件复制回存储库并进行同步。这应该几乎可以解决所有问题。(...每次我尝试以其他方式解决它时,最终都会浪费数小时尝试不同的方法,最终像我上面描述的那样重建整个存储库 -.-)

我不建议删除repo - 尝试删除最后一次提交。关于这个主题,Chris的帖子很好:http://goo.gl/yCU2N提示:每当您从第三方产品进行导入/更新或进行重大更改时,请在开始之前在您的repo中创建一个新分支。
  • git branch myHotFix
  • git checkout -b myHotFix 现在您可以随意玩耍和更改任何内容 - 如果有什么好的 - 进行合并 - 如果没有,请放弃该分支->创建一个新的并再次尝试。
- theforce
到目前为止,谢谢你的帮助。在使用 SVN 时,它已经变得自然了(直到那时没有分支),但是即使使用 git,我也遇到了一些无法解决的问题。有时我会得到一个无法使用的存储库状态,以至于我甚至无法连接到服务器。也许我说得不太清楚:我不建议删除存储库,只作为最后的选择! - user207616
首先很抱歉之前没回复,我的笔记本在“苹果医院”里修理了;-)至于答案,我只是想添加几个文件而已。答案已经有三段了(无论如何,还是谢谢relikd),但并没有增加我对git的信心。专业工具(好吧,它们价值几百/几千美元)更换项目中现有文件时不会遇到任何问题,并且会简单地创建一个新版本。而因为我想更新第三方组件就创建一个分支?这似乎不是正确的方法。再次感谢所有人。 - renesteg

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