Xcode有内置的代码管理系统(SCM),可以是使用Git和Subversion这两种主流的版本管理系统。
1. GIT和SVN的不同
在多数情况下,两者之间的最大不同是术语的称谓。例如,Git用户clones,对应Subversion的用户checkout一个副本;Git的用户pulls,对应Subversion的用户updates(和可能的merges)。Git的用户stage改动和commit它们,然后可能push它们到远端的服务器(origin),对应Subversion的用户简单的commit。
两个系统之间的最大不同在于,Subversion用户的commit意味着改动成为了代码库的一部分(通常在远端服务器上,也就是代码checked out的地方),同时,Git用户的commit是本地操作。Git用户有一个完整代码库的拷贝(以及他的全部历史),并且可以选择是否push这些改动到源上(通常是一个驻留在一台服务器上的中心式的代码库)。不论远端服务器(clone的origin)是否可达,Git的commit总可以发生。
使用命令行工具将一个已有的工程转入到Git代码库中。在终端下,敲入下述命令
cd your_project_folder
git init
其中,your_project_folder是工程主文件的完全路径。
要创建一个本地驻留的Subversion代码库,你不能使用Xcode,但可以使用终端:
svnadmin create your_project_folder
mkdir your_project_folder
然后你可以手动import一个已有的工程到这个新的代码库中:
svn import path_to_existing_files file://full_path_to_project_folder/trunk/ -m "Initial import"
虽然不如Git优雅,但也可以正常工作。
通过命令行创建Subversion代码库
1. 使用mkdir命令创建一个目录,在其中创建三个子目录branches、tags和trunk,用来存放工程的临时副本。
2. 复制工程目录到trunk子目录中
3. 为Subversion代码库创建一个目录。
4. 使用svnadmin create命令创建一个空的Subversion代码库。
5. 使用svn import命令将你的工程目录导入到新的Subversion代码库。
参考
1. Mastering Xcode 4, chapter 21 source code management
2. Learn Xcode Tools for Mac OS X and iPhone Development, chapter 10 Source-Code Management with Subversion
3. Xcode User Guide,Keep Track of Changes with Source Control