Iphone 对于源代码管理,我有哪些替代方案?GIT是否做到了这一点?

Iphone 对于源代码管理,我有哪些替代方案?GIT是否做到了这一点?,iphone,ios,xcode,git,ipad,Iphone,Ios,Xcode,Git,Ipad,我是一些客户的自由职业程序员,也为自己创建应用程序。当我为自己工作时,显然我是一个人工作 我今天的大问题是: 我有很多应用程序使用我开发的相同类 在过去,我将所有这些公共类放在所有项目之外的目录中,并使用绝对路径将它们包含在我的应用程序中,但这种方法很糟糕,因为偶然(如果你忘记了)你可能会更改路径或磁盘,而所有项目都被破坏。然后我决定每次都将这些类复制到我的项目中。因为这些课程中的大多数并不经常改变,我相对来说还行,但当它们改变时,我就陷入了地狱 当我更改其中一个类时,我必须使用它们的副本将更改

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

我今天的大问题是:

  • 我有很多应用程序使用我开发的相同类
  • 在过去,我将所有这些公共类放在所有项目之外的目录中,并使用绝对路径将它们包含在我的应用程序中,但这种方法很糟糕,因为偶然(如果你忘记了)你可能会更改路径或磁盘,而所有项目都被破坏。然后我决定每次都将这些类复制到我的项目中。因为这些课程中的大多数并不经常改变,我相对来说还行,但当它们改变时,我就陷入了地狱
  • 当我更改其中一个类时,我必须使用它们的副本将更改传播到所有其他应用程序
  • 我也尝试过创建框架,但多亏了苹果,我无法为iOS创建框架,我必须创建库和捆绑包,并创建一个从一个到另一个以及到项目的梦魇路径来实现这一点!它不起作用。因此,在Xcode成为一个像样的IDE之前,我已经在Xcode上使用了框架/库

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

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

  • Xcode上的git本地允许我处理资产还是只处理代码
  • 我可以让git在本地管理相当于“框架”(代码+资产)的东西吗
  • 整个xcodeproj能否作为一个整体进行管理?我的意思是,假设我创建了一个xcodeproj,并希望GIT来管理它,这样我就可以将它包含在其他项目中
  • 如何在没有git的情况下创建的项目上启用git,并开始指定用于管理的文件。(我已经在Xcode的首选项上启用了git,但所有源代码管理菜单都是灰色的)
  • 假设GIT在项目中管理一组文件/资产。它们可以被其他项目使用吗
  • git是最好的选择吗?我还有别的吗
  • 请记住,我的主要条件是文件应保留在本地计算机上

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

    谢谢。

    听起来您希望这些文件从一个存储库引用另一个存储库。当其他存储库发生更改时,您可以轻松地更新内容

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

    现在回答您的具体问题:

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

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

    我可以让git在本地管理相当于“框架”(代码+资产)的东西吗

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

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

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

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

    我不建议使用XCode源代码管理工具,或者使用,或者类似的方法。在Xcode之外管理您的源代码状态,让Xcode去做它擅长的事情:编写和编译代码

    假设GIT在项目中管理一组文件/资产。它们可以被其他项目使用吗

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

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

    Git很适合这个。存储库只能位于您的计算机上,如果您愿意,也可以位于远程服务器上。它们可以通过磁盘路径或远程URL相互引用


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

    Git与Xcode或类似的东西没有联系。如果您愿意,您可以完全独立于任何IDE使用它。好的,但不幸的是,我必须使用Xcode。我已经尝试了GitHub应用程序,并且能够为子模块创建本地git。这就是我所做的:1)我创建了一个文件夹,其中包含可以协同工作的类2)我使用了GitHub并为这些文件创建了git。我查看了里面的文件夹,创建了一个包含很多内容的.git目录。现在,似乎不可能在xcode中的项目中包含这个git。我遵循一个教程说:转到项目的根路径并键入git submodule add~/Documents/git/MySubmodule我这样做了,在项目结构中创建了一个名为MySubmodule的文件夹,但是。。。(续)。。。在xcode中没有向项目添加任何内容。现在怎么办?编辑:在项目结构中创建的“空”文件夹实际上不是空的。它包含一个名为.git的文件。在该文件中,我找到一行:gitdir:...git/modules/mysubmodulei如果子模块为空,您可能只需要在命令行中执行
    git子模块更新。我不知道Xcode的Git UI对子模块有任何支持。如果我没有错的话,WWDC 2013年关于Git的视频说“远离子模块”。。。