1

我为一些客户担任自由程序员,也为自己创建应用程序。当我为自己工作时,显然我是一个人工作。

我今天最大的问题是:

  1. 我有很多应用程序使用我开发的相同类;
  2. 过去,我将所有这些公共类放在所有项目之外的目录中,并使用绝对路径将它们包含在我的应用程序中,但这种方法很糟糕,因为意外(如果你忘记了)你可能会更改路径或磁盘,并且所有项目都是破碎的。然后我决定每次都将这些类复制到我的项目中。因为这些班大部分不经常换,我还比较ok,但是换的时候,我就下地狱了;
  3. 当我更改其中一个类时,我必须使用它们的副本将更改传播到所有其他应用程序。

我也尝试过创建框架,但感谢 Apple,我无法为 iOS 创建框架,必须创建库和包,并创建从一个到另一个到项目的路径的噩梦,以使 sh!t 工作。所以,在 Xcode 是一个不错的 IDE 之前,我已经完成了 Xcode 上的框架/库。

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

我需要的是这个(我从未在 Xcode 上使用过 GIT。我已经阅读了 Apple 文档,但我仍然有这些观点):

  1. Xcode 上的本地 git 允许我处理资产还是只处理代码?
  2. 我可以在本地拥有由 git 管理的“框架”(代码+资产)吗?
  3. 可以将整个 xcodeproj 作为一个整体进行管理吗?我的意思是,假设我创建了一个 xcodeproj 并希望 GIT 来管理它,所以我可以将它包含在其他项目中。
  4. 如何在没有它创建的项目上启用 git 并开始指定文件进行管理。(我在 Xcode 的首选项中启用了 git,但所有源代码控制菜单都是灰色的)。
  5. 假设一堆文件/资产由项目内的 GIT 管理。它们可以被其他项目使用吗?
  6. git是最好的选择吗?我还有别的吗?

请记住,我的主要条件是文件应保留在本地计算机上。

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

谢谢。

4

1 回答 1

3

听起来你想要git 子模块。这些从另一个存储库引用一个存储库。当其他存储库发生更改时,您可以轻松更新内容。

我不会在这里为框架或库而烦恼。一旦您的应用程序中有一个引用您的共享代码的子模块,Xcode 就可以即时编译该源代码。

现在回答您的具体问题:

Xcode 上的本地 git 允许我处理资产还是只处理代码?

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

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

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

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

不知道你在这里的意思。但我只担心源文件,而不是项目文件。

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

我不推荐使用 XCode 源代码控制工具。学习命令行界面,或者使用GitHub mac 应用程序,或者像Git Tower 之类的东西。在 Xcode 之外管理你的源代码状态,让 Xcode 去做它擅长的事情:编写和编译代码。

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

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

git是最好的选择吗?我还有别的吗?

Git 非常适合这个。存储库可以仅在您的计算机上,也可以在您喜欢的远程服务器上。它们可以通过磁盘路径或远程 URL 相互引用。

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

于 2013-10-20T10:19:00.757 回答