iPhone开发技巧之环境篇(5)--- 用Subversion管理iPhone程序
来源:互联网 发布:财务报表分析软件 编辑:程序博客网 时间:2024/05/19 16:35
这回介绍使用Xcode开发iPhone应用程序时,使用SVN管理源代码的设置及使用方法。这里介绍了两种不同时配置和使用方法— GUI和命令行。更具用户的使用习惯自行选择。
GUI版本
在Xcode上设置svn的Repository
在XCode的环境设定中选择「SCM」。如下图所示,首先在「SCM」中的「Repository」中设置。
点击画面左下角的「+」后会显示SCM系统设置的对话框。如下图所示,输入适当的名字,并在「SCM系统」栏上选择Subversion。
在下面弹出的窗口中输入必要的Repository的信息。
如果输入的不正确的话,在画面最下部会弹出以下的错误信息。
添加新工程到 SVN Repository
由XCode画面上方的「SCM」→「Repository」打开下面的窗口。
选择新工程的目录,这里将「Test8」添加到 trunk/iPhone/Test8。
点击画面左上角的「读入」按键、然后选择新的工程目录、添加相应的注释后,点击下方的「读入」按钮就完成了添加过程。
然后打开工程,并像下图中所示,查看过程的信息。
点击画面上部的「设置根与SCM」。
将 Repository 栏设置为刚才制定的 Repository。
从 Repository CheckOut 代码
首先点击「SCM」→「Repository」,选择需要CheckOut的过程目录。
然后点击画面上方的「CheckOut」、选择合适的保存路径保存。
使用方法
比如像下面在「main.m」文件中添加一些注释。
因为文件如原先不一样了,在左边的状态栏上会显示 M 文字。表示该文件已经更改。
如果点击左边列表中的「SCM」,将显示所有更改过的文件。
对着更改过的文件点击右键会显示「commit」,「diff」等常用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是一致的。
- iPhone开发技巧之环境篇(5)--- 用Subversion管理iPhone程序
- iPhone开发技巧之环境篇(1)--- 使用Emacs开发iPhone应用程序
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇(7)--- 区分不同版本的iPhone
- iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
- iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理
- iPhone开发技巧之发布篇(5)— 在程序中添加广告
- iPhone开发技巧之环境篇— 区分不同版本的iPhone
- iPhone开发技巧之环境篇--- 区分不同版本的iPhone
- iPhone开发技巧之环境篇--- 区分不同版本的iPhone
- iPhone开发技巧之调试篇(3)— 程序Crash后的调试技巧
- iPhone开发技巧之调试篇(3)— 程序Crash后的调试技巧
- iPhone开发技巧之调试篇(3)— 程序Crash后的调试技巧
- iPhone开发技巧之调试篇(3)— 程序Crash后的调试技巧
- iPhone开发技巧之环境篇(2)--- XCode中的快捷键
- iPhone开发技巧之环境篇(3)--- Xcode中的帮助文档
- iPhone开发技巧之环境篇(4)--- 配置Xcode的窗口布局
- iPhone开发技巧之环境篇(6)--- 创建工程模板
- 字符集
- iPhone开发技巧之环境篇(4)--- 配置Xcode的窗口布局
- 用循环不变式证明RB-INSERT-FIXUP的正确性
- Study on Android【二】--ContentProvider数据模型概述
- 红黑树的删除
- iPhone开发技巧之环境篇(5)--- 用Subversion管理iPhone程序
- Android Log Analysis
- linux 简单命令
- Study on Android【三】--Intent消息传递
- 求助MFC 多行编辑框显示数据问题
- Study on Android【四】--显示控件使用
- extaspnet 实现2个表格行相互拖拽
- linux--df
- Study on Android【五】--自定义ContentProvider的语义