我有什么替代品来控制源代码并且GIT能做到这一点吗?

时间:2013-10-20 09:52:46

标签: iphone ios xcode git ipad

我是一名客户的自由职业程序员,也为自己创建应用程序。当我为自己工作时,显然我一个人工作。

我今天遇到的大问题是:

  1. 我有很多应用程序使用我开发的相同类;
  2. 过去,我将所有这些常用类放在所有项目之外的目录中,并使用绝对路径将它们包含在我的应用程序中,但这种方法很糟糕,因为偶然(如果您忘记)您可能会更改路径或磁盘,所有项目都被打破了。然后我决定每次都将这些类复制到我的项目中。因为这些课程中的大多数都没有经常变化,我相对比较好,但是当他们改变时,我就在地狱里;
  3. 当我更改其中一个类时,我必须使用它们的副本将更改传播到所有其他应用程序。
  4. 我也尝试过创建框架,但是感谢Apple,我无法为iOS创建框架,不得不创建库和包,并创建一个从一个到另一个的路径的噩梦,以及为了实现这个目标而做的工作! 。所以,我完成了Xcode上的框架/库,直到Xcode是一个不错的IDE。

    所以,我发现我需要更好的东西来管理我的源代码。

    我需要的是这个(我从来没有在Xcode上使用GIT。我读过Apple文档,但我仍然有这些要点):

    1. 在Xcode上本地git允许我处理资产或只是代码吗?
    2. 我可以拥有相当于git本地管理的“框架”(代码+资产)吗?
    3. 整个xcodeproj可以作为统一管理吗?我的意思是,假设我创建了一个xcodeproj并希望GIT对其进行管理,所以我可以将它包含在其他项目中。
    4. 如何在没有它的情况下创建的项目上启用git,并开始为管理指定文件。 (我已经在Xcode的首选项上启用了git,但所有源代码控制菜单都显示为灰色)。
    5. 假设一堆文件/资产由项目内的GIT管理。他们可以被其他项目使用吗?
    6. git是最好的选择吗?我有另一个吗?
    7. 请记住,我的主要条件是文件应保留在本地计算机上。

      请救救我(今天我有点戏剧性)。

      感谢。

1 个答案:

答案 0 :(得分:3)

听起来你想要git submodules.这些引用另一个存储库。当其他存储库发生变化时,您可以轻松更新内容。

我不打算在这里使用框架或库。一旦你的应用程序中有一个引用你的共享代码的子模块,Xcode就可以动态编译该源代码。

现在回答您的具体问题:

  

在Xcode上本地git允许我处理资产或只是代码吗?

Git存储二进制资产以及文本(代码)文件。

  

我是否可以拥有本地git管理的“框架”(代码+资产)?

是的。将共享代码放在它自己的存储库中,然后创建一个子模块,该子模块指向使用此共享代码的每个项目中的此存储库。

  

整个xcodeproj可以作为统一管理吗?我的意思是,假设我创建了一个xcodeproj并希望GIT对其进行管理,所以我可以将它包含在其他项目中。

不确定你的意思。但我只是担心源文件,而不是项目文件。

  

如何在没有它的情况下创建的项目上启用git,并开始为管理指定文件。 (我已经在Xcode的首选项上启用了git,但是所有的源代码控制菜单都显示为灰色。)

我不建议使用XCode源代码控制工具。 Learn the command line interface,或使用GitHub mac app,或类似Git Tower之类的内容。在Xcode之外管理您的源状态,并将Xcode保留在它擅长的地方:编写和编译代码。

  

假设一堆文件/资产由项目内的GIT管理。它们可以被其他项目使用吗?

请参阅上面关于子模块的链接,它允许一个存储库包含另一个存储库。

  

git是最好的选择吗?我有另一个吗?

Git非常适合这一点。存储库只能在您的计算机上,如果您愿意,也可以在远程服务器上。他们可以通过磁盘路径或远程URL相互引用。

Git可以做你所描述的一切。你可能想避免使用Xcode的Git界面。但我可能只是一个不信任IDE来管理源代码控制的旧屁。