iPhone开发技巧之环境篇(5)--- 用Subversion管理iPhone程序

来源:互联网 发布:财务报表分析软件 编辑:程序博客网 时间:2024/05/19 16:35

这回介绍使用Xcode开发iPhone应用程序时,使用SVN管理源代码的设置及使用方法。这里介绍了两种不同时配置和使用方法— GUI和命令行。更具用户的使用习惯自行选择。

GUI版本

在Xcode上设置svn的Repository

在XCode的环境设定中选择「SCM」。如下图所示,首先在「SCM」中的「Repository」中设置。

Xcode_SCM

点击画面左下角的「+」后会显示SCM系统设置的对话框。如下图所示,输入适当的名字,并在「SCM系统」栏上选择Subversion。

Xcode_SCM

在下面弹出的窗口中输入必要的Repository的信息。

Xcode_SCM

如果输入的不正确的话,在画面最下部会弹出以下的错误信息。

Xcode_SCM

添加新工程到 SVN Repository

由XCode画面上方的「SCM」→「Repository」打开下面的窗口。

Xcode_SCM_SVN

选择新工程的目录,这里将「Test8」添加到 trunk/iPhone/Test8。

点击画面左上角的「读入」按键、然后选择新的工程目录、添加相应的注释后,点击下方的「读入」按钮就完成了添加过程。

Xcode_SCM_SVN

然后打开工程,并像下图中所示,查看过程的信息。

Xcode_SCM_SVN

点击画面上部的「设置根与SCM」。

Xcode_SCM_SVN

将 Repository 栏设置为刚才制定的 Repository。

Xcode_SCM_SVN

从 Repository CheckOut 代码

首先点击「SCM」→「Repository」,选择需要CheckOut的过程目录。

Xcode_SCM_SVN

然后点击画面上方的「CheckOut」、选择合适的保存路径保存。

使用方法

比如像下面在「main.m」文件中添加一些注释。

Xcode_SCM_SVN

因为文件如原先不一样了,在左边的状态栏上会显示 M 文字。表示该文件已经更改。

Xcode_SCM_SVN

如果点击左边列表中的「SCM」,将显示所有更改过的文件。

Xcode_SCM_SVN

对着更改过的文件点击右键会显示「commit」,「diff」等常用SVN的功能。

Xcode_SCM_SVN

命令行版本

设置 Repository 的路径

首先,设定 Repository 的 URL ,如下所示,作为环境变量来设定。

1
% SVN_REPO=svn+ssh://svn.example.com/projects/Example

添加空的过程

这里,并不是先从 Xcode 创建新工程项目,而是创建项目的目录,并 commit 它。

一般使用 Subversion 来管理项目的时候,都会使用 trunk branches tags 3个目录,这里我们也是这样来创建它。

123456789
% mkdir project_name% cd project_name% mkdir trunk tags branches% svn import ./ ${SVN_REPO} -m "initial import"Adding         trunkAdding         branchesAdding         tagsCommitted revision 20.

如果该项目不需要的时候,可以像下面一样,删除整个目录就好了。

12
% cd ..% rm -rf project_name

CheckOut

对于已经存在带是没有用SVN管理的项目,只要在工程目录下 CheckOut 刚才 Commit 的空项目就好了。比如 ~/Developer/Workspace/Example/ 这个工程项目,我们将其放入 Repository 的 trunk 下。

12
% cd ~/Developer/Workspace/Example/% svn checkout ${SVN_REPO}/trunk .

选择用SVN管理的文件

通过上面的设置,实际工程项目中的文件还没有被SVN管理起来。需要如下所示通过 svn add 添加需要的文件。

1234567
% svn add --force .A         Example.xcodeprojA         Example.xcodeproj/ishikawa.mode1A         Example.xcodeproj/ishikawa.pbxuserA         Example.xcodeproj/project.pbxprojA         Example_Prefix.pchA         build

编译的结果是不需要被管理的,将其忽略。

12
% svn revert build --recursive% svn propset svn:ignore "build" .

由于 Xcode 的项目文件 .xcodeproj 中含有用户的信息,如果是团队开发的程序,该文件也要被忽略。

1234
% svn revert Example.xcodeproj/ishikawa.*% svn propedit svn:ignore Example.xcodeproj/*.mode1*.pbxuser

最后commit就好了。

1
% svn commit -m "New Xcode project"

使用iDisk,TimeMachine等备份自己的程序

如果你申请了MobileMe等类似网络同步化的服务,还可以将程序代码用SVN备份到那里。

首先在Mac上打开 "系统环境设定" - "MobileMe" - "iDisk"中的iDiskSync。

然后在控制台输入类似下面的命令,建立 iDisk 上的 Repository。

1234
mkdir -p /Volumes/iDisk/Repository/ProjectNamesvnadmin create /Volumes/iDisk/Repository/ProjectName --fs-type fsfsmkdir -p tmp/{trunk,branches,tags}svn import tmp/ file:///Volumes/iDisk/Repository/ProjectName -m "Initial import"

其他的使用方法与上面介绍的GUI或者CUI是一致的。

原创粉丝点击