我是一名iOS开发人员,希望更好地管理我正在创建的项目。我之前从未接触过SCM,所以我不确定使用哪种系统。
我想跟踪我为老板制作的不同应用程序的变化,同时将它们集中在一个集中的位置,并能够分支并开发独立于主应用程序的功能,然后在我完成时合并更改。所有这些都将在本地完成(存储在我办公室的外部硬盘上),一旦版本完成,我希望能够导出没有SCM功能的副本发送给我的老板。
我刚刚升级到Xcode 4并注意到Git是内置的。我玩过Subversion和Git,但听起来Git更符合我的需求。但是,它似乎与Subversion完全不同。 Xcode 4文档表明Git对于单独的开发人员来说是最好的,但事实并非如此。如果git存储库位于您的工作副本中,那么您究竟如何创建它的分支?您将更改发送到哪里?您是否复制整个工作目录并将其用作分支?
只是想找个人用简单的英语解释SCM系统最适合单独的开发人员使用以及人们可能知道的任何教程来帮助我理解它。
感谢您的帮助!
答案 0 :(得分:4)
去找git!
存储库实际上位于您的工作目录中。有.git文件夹,其中包含有关您的分支和提交的所有数据。如果您愿意,可以创建一个裸存储库(仅限.git文件夹的内容),但两者在同一个地方都很好,特别是如果您是一个不需要分发的开发人员。
在git中分支很容易:
# create the branch
git branch mybranch
# switch to branch
git checkout mybranch
# show branches
git branch
Git不依赖于像svn那样的服务器。您可以使用遥控器进行分布式开发,但这不是必需的。
如果您想在没有git文件的情况下为您的老板制作副本,请执行
git archive branchname --format=zip -o tree.zip
我建议在git上阅读一些内容
答案 1 :(得分:3)
git中的分支与SVN非常不同。分支发生在适当的位置,而不是在另一个目录中。
阅读this书和其他资源,以便更好地了解git的工作原理
关于集中式服务器,Git是一个分散的SCM。这意味着每个克隆都包含整个存储库,而不仅仅是当前的工作目录。
这并不意味着您不能拥有中央存储库。在中央服务器上,您可以创建一个裸存储库,在您的本地计算机上,您可以从该存储库进行克隆,通过ssh从该存储库中进行推送和拉取。