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

这回介绍使用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个目录,这里我们也是这样来创建它。

1
2
3
4
5
6
7
8
9
% mkdir project_name
% cd project_name
% mkdir trunk tags branches
% svn import ./ ${SVN_REPO} -m "initial import"
Adding         trunk
Adding         branches
Adding         tags

Committed revision 20.

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

1
2
% cd ..
% rm -rf project_name

CheckOut

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

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

选择用SVN管理的文件

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

1
2
3
4
5
6
7
% svn add --force .
A         Example.xcodeproj
A         Example.xcodeproj/ishikawa.mode1
A         Example.xcodeproj/ishikawa.pbxuser
A         Example.xcodeproj/project.pbxproj
A         Example_Prefix.pch
A         build

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

1
2
% svn revert build --recursive
% svn propset svn:ignore "build" .

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

1
2
3
4
% 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。

1
2
3
4
mkdir -p /Volumes/iDisk/Repository/ProjectName
svnadmin create /Volumes/iDisk/Repository/ProjectName --fs-type fsfs
mkdir -p tmp/{trunk,branches,tags}
svn import tmp/ file:///Volumes/iDisk/Repository/ProjectName -m "Initial import"

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值