Xcode操作SVN(高级部分)

新同事常常用不好svn,老是冲突或是删不掉多余文件一更新在文件夹里又会有,对项目里面的错乱文件也不敢轻易更改目录。

下面我就一步步分享一下自己是怎么随意使用svn的,最后分享一个绝招。

第一篇:svn提交

Tools文件夹下文件非常乱,项目结构与文件结构如下图。

                                    

下面的演示是将Tools文件夹下的LXHelpClass.h与LXHelpClass.m文件移动到class/Tool/Help下,我将步骤分为两大步骤:svn提交前准备与svn提交。

第一步: svn提交前准备

1.在项目上双击LXHelpClass.h,在弹出菜单中选中Show in Finder,会来到具体的文件目录下.

2.将LXHelpClass.h与LXHelpClass.m文件托送到class/Tool/Help下的过程(必须在文件里操作不能在项目里拖动,不然将会出现两份一样的文件)。

                    

3.现在看项目的结构如图。

4.将class/Tool/Help文件夹下的LXHelpClass.h与LXHelpClass.m文件add到项目结构class/Tool/Help中。(仅这一步在文件夹里拖文件到项目中也是可以的)

              

5.在项目中选中Tools下报红的LXHelpClass.h与LXHelpClass.m文件,然后按键盘上的delete键可直接删除。注意看最后一张图的LXHelpClass.h与LXHelpClass.m后面有一个问号。

目前svn操作前的处理已经完成,然后就是提交了。

我这里直接使用的Xcode集成好的svn,Xcode版本是7.3.1

第二部:svn提交

1.commit提交,看图。

2.待提交文件界面,默认没有选择提交LXHelpClass.h文件,须双击提交目录,然后弹出菜单选择Check All. (注意:1.在提交目录中有两组LXHelpClass.h与LXHelpClass.m,在其后分别有“?与!”标记。 2.下图弹出的提交界面左上角tab有三个选项,选择的是中间的tab)

3.在下方输入提交备注信息,然后点击右下角 Commit 23 Files 按钮。然后提示"*** is not under version control (1)",这就对了,别怕。(提交文件后面跟随有“?或!”的时候是会提交失败的)

4.点击右下方的cancle取消按钮,然后再跟随第一步的commit提交,接着提交界面就改变成下面这样了,发现啥改变了吗?之前的LXHelpClass.h后面的“?与!”相应改变成了“A与D”。

5.点击右下角 Commit 6 Files 按钮,哇哇哇,Successful!!!然后看一下项目结构中LXHelpClass.h与LXHelpClass.m后面的“?”也消失了,这就对了。

6.最后验证是否删掉了旧目录,生成了新目录。再show in finder进入文件夹检查一下Tools文件夹里是不是没有LXHelpClass.h与LXHelpClass.m,class/Tool/Help文件夹里是有LXHelpClass.h与LXHelpClass.m的。然后再点击工具栏里的下拉菜单update按钮,查看是否还正确。最后一步验证特别重要,重新checkout一个路径下载项目,查看文件夹结构是否对应正确。若按照上面的步骤完成的提交,那么一定是正确的。

现在已经顺利完成了挪动项目里的文件结构,有了清晰的文件结构便于查找,整理,维护。

接下来是不是该大胆的更改你现有项目中错乱的文件位置,第一大步骤svn提交前准备,可先整理完所有的需挪动的文件夹与文件,然后再一并commit。(挪动文件夹与文件是一样的步骤与效果)。

第二篇:svn撤销

对了,刚开始说的需要分享一下绝招。那就是在开发时巧妙使用 Discard All Changes 与 DisCard Changes这两个功能。有了这个绝活你现在可以任意删除或修改代码与文件(在试验这个步骤前请提交完有用的修改的代码),在项目结构中可以看到在修改的文件后面又一个“M”标记,然后点击Discard All Changes选项,将会撤销所有的修改(包括增删改文件与代码),与上次svn操作(包括commit与update)后的代码一样。

不知道Discard All Changes 与 DisCard Changes 功能的位置在哪的看图。

                

当然需要有改动的文件双击后才会有DisCard Changes功能,否则它是灰色按钮,它的功能是撤销当前文件的修改,保持与最后一次svn操作后的代码一致。同事,也可以使用DisCard Changes上面的Commit与Update功能,也是针对当前文件的svn操作。

有了Discard All Changes这个功能还怕项目跑不起来?还怕改错文件?还怕引入新文件或第三方库导致项目报错吗?哈哈,错了就直接Discard All Changes。一定要保证每次提交到svn时的项目能够正常运行。

原创资源,转载请注明来源

时间: 2024-10-18 04:07:49

Xcode操作SVN(高级部分)的相关文章

Mac下搭建svn服务器和XCode配置svn

http://www.cnblogs.com/iihe602/p/3277735.html Mac下搭建svn服务器和XCode配置svn 分类: iOS2013-01-14 14:36 5781人阅读 评论(0) 收藏 举报 先打开命令行终端. 1.创建svn repository svnadmin create /yourpath/svnroot/repository 2.配置svn用户权限. / yourpath /svnroot/repository/conf/目录下存在3个文件: au

使用终端命令操作SVN应该注意哪些

svn作为当前ios多人开发,在企业中也非常常用,现在用的比较多的svn工具 比如 cornerstone.使用起来比较方便,但是也会出现一些 版本不匹配等问题,这篇文章主要说一下  使用终端来操作svn,如果熟练的话 会更加快捷. 命令介绍: 下载服务器代码到本地: 1, 首先,创建一个本地文件夹,用于保存代码. 2,打开终端,cd 进入你所创建的文件夹. 3,输入 svn checkout http://www.XXX.com/XXX/XX/code --username=31575 --p

TortoiseSVN下载,安装,配置,常用操作 svn教程

   TortoiseSVN下载,安装,配置,常用操作 svn教程 首先在百度搜索并下载 TortoiseSVN 推荐从官网下载,软件分为32位和64位版本,下载时请根据自己的系统位数进行下载:  安装过程: 1.下载软件后,双击程序进行安装,点击"Next": 2.在许可证协议页面,选择"I Accept the terms in the License Agreement",点击"Next": 3.在自定义选项页面,可以选择安装目录,也可以直

命令行操作svn和git和git

前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音,那么问题来了,什么是svn和git呢? svn和git其实都是一种用来管理项目的控制版本工具,他们有很多好处,比如 1.防止代码丢失----可以把自己的代码上传到服务器上 2.适合多人开发----合并代码超级简单 3.能够进行版本回退 4.能解决冲突和bug 5.可以做分支 6.责任到人----可以

iOS Xcode之SVN(remove git)

项目用SVN比较多,所以大家都把精力放在如何在XCODE上使用SVN. 配置SVN当然是很简单,但提交都默认出现git的提交窗,否则要到repositories界面去提交. 目前没有找到什么更好的办法,就做了两个处理: 1.在Repositories里面把 相应的 git相关的项目目录移除(见界面左下角的“-”号): 2.先关闭xcode,然后到终端界面,进入到相应的目录,用rm -fr .git 命令删除git. 3.关于.a等外部资源的提交 由于默认是将.a文件忽略和不提交的,因此需要修改下

mongoose 查询操作的高级应用

对于mongoose操作集合的方便之处确实不一般,但主要还是你在引用中对集合的设计,不过mongoose在使用ref关联集合的时候有限制和查出的集合的组合问题有点麻烦.不过不要紧,简单易用就行. 1.mongoose 中ref关联文档的用法 2.mongoose中populate查询关联文档 3.查询获得数组中单个集合 比如有集合: {     "_id": 11111,     "im": {         "usergroup": [   

Redis笔记整理(三):进阶操作与高级部分

[TOC] Redis笔记整理(三):进阶操作与高级部分 Redis发布订阅 Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis客户端可以订阅任意数量的频道. 下图展示了频道channel1,以及订阅这个频道的三个客户端--client1,client2,client5之间的关系. 当有新消息通过PUBLISH命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端: 相关操作命令如下: 命令 描述 PSUBS

java操作svn【svnkit】入门

SVNKit整体认识: SVNKit 是一个100%纯java,用于在java应用程序中与Subversion版本控制系统一起工作的客户端库.它的结构可以表示为: SVNKit有两个层次的API: 一. 高级层用于管理工作拷贝.这一类API让你管理工作拷贝就像使用Subversion命令行客户端一样. 二. 低级层类似Subversion仓库访问层.它类似直接在Subversion仓库上工作的驱动器. 高级层API 高级API类似Subversion的命令行客户端的命令,所有管理工作拷贝的操作逻

java操作svn【svnkit】实操

SVNKit中怎样使用不同的仓库访问协议? 当你下载了最新版的SVNKit二进制文件并且准备使用它时,一个问题出现了,要创建一个库需要做哪些初始化的步骤?直接与Subversion仓库交互已经在低级层API中实现,主要的仓库访问驱动的接口就是SVNRepository抽象类.这个驱动实现了一些协议,一个协议一个实现.每个驱动由一个抽象工厂类-SVNRepositoryFactory 创建,抽象工厂类也有每一种协议的实现.下面的表格将一种协议和工厂类的实现类一一对应: svn://(svns://