(一)SVN的使用、CornerStone图形化管理工具!

  SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

  svn服务器,2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。

  svn存储数据,2种:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。   

                   |-->详见subversion

===========================

1、利用Terminal终端!

===========================

01. 将服务器文件下载到本地

# 切换工作目录

$ cd 经理的工作目录

# checkout服务器上的代码仓库

$ svn co http://192.168.1.103/svn/xxx --username=manager --password=manager

提示:checkout(co)之后,命令行会记录用户名和密码,后续操作不用再另行指定

02. 经理添加文件

===========================

* svn 常用命令

-----------------------------------------------

# 查看本地代码库状态

$ svn st

错误提示:"is not a working copy",必须在svn的工作目录下才能正确使用svn的命令

# 查看svn日志

$ svn log

# 查看某一个文件的日志

$ svn log filename

# 查看某一个文件某个版本的日志

$ svn log filename@1

* 创建文件

-----------------------------------------------

# 切换到工作目录

$ cd weibo

# 创建文件

$ touch main.c

# 打开并编写文件内容

$ open main.c

* 将文件提交到服务器

-----------------------------------------------

# 查看工作目录状态

$ svn st

# 将文件添加到本地版本库中

$ svn add main.c

# 将文件提交到服务器的版本库中

$ svn ci -m "添加了main.c文件"

"小结" - 添加文件的两个步骤

-----------------------------------------------

1>  将新建的文件添加到本地代码库

$ svn add main.c

2>  将刚刚添加的文件提交到服务器

$ svn ci -m "备注信息"

注意:一定要养成写注释的良好习惯

03. 团队成员加入

===========================

1>  张三

$ svn co http://10.0.1.15/svn/weibo --username=zhangsan --password=zhangsan

2>  李四

$ svn co http://10.0.1.15/svn/weibo --username=lisi --password=lisi

"小结" 至此,一个项目的搭建工作就告一段落了

1> 项目准备工作,通常由项目经理完成

2> 程序员只需要把项目 co 到本地即可

提示:新入职一家公司后,别忘记让经理分配 svn 的账号和密码

04. 张三添加文件

===========================

# 添加文件 Person.h Person.m

$ touch Person.h Person.m

# 修改 Person.h Person.m

$ open Person.h

$ open Person.m

# 将 Person.h Person.m 添加到本地代码库

$ svn add Person.*

# 将内容提交到服务器

$ svn ci -m "添加了Person类"

05. 删除文件

===========================

# 删除文件

$ svn rm Person.h

# 提交删除

$ svn ci -m "删除了文件"

注意:不要使用文件管理器直接删除文件

06. 撤销修改

===========================

$ svn revert Person.m

07. 恢复到之前的某个版本

$ svn update -r 5

$ svn up

08. 冲突解决

(p) postpone            对比

(mc) mine-conflict      使用我的

(tc) theirs-conflict    使用对方的

===========================

--图形界面

===========================

01.安装CornerStone

  下载最新版本,安装。

02.具体操作

===========================

1>  添加远程代码仓库

2>  导出代码库到本地

3>  在本地目录下使用Xcode新建项目

注意:不要勾选 git,两套源代码管理同时存在会发生冲突

4>  提交到代码仓库

5>  其他用户操作

03. 忽略一些不需要上传的文件

===========================

.ignore

04. SVN演练

===========================

1>  修改viewcontroller,提交

2>  添加Person类,提交

3>  代码冲突演示

4>  storyboard冲突演示

5>  利用storyboard查看历史版本,回退

6>  利用xcode checkout 项目

05. 目录规范

===========================

1>  Trunk

目前项目正在开发的版本

通常进入公司之后在该目录下开发

2>  Tags

存放已经上线的重大版本

3>  Branches

当发生重大bug或者有新需求时

================

|--> Copyright (c) 2015 Bing Ma.

|--> GitHub RUL: https://github.com/SpongeBob-GitHub

SVN & Git (一)的更多相关文章

  1. svn/git的diff、patch

    svn/git的diff.patch 前几天,正当我突突的写代码,企业微信嘀嘀一声响”在不,过来帮我看个bug”.本人一向助人为乐,高兴的冲了过去,然后就开始了一段长达1分钟的问题描述.很明显,此同学 ...

  2. SVN/GIT源代码泄露

    造成SVN源代码漏洞的主要原因是管理员操作不规范.在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息.但一些网站管理员在发布代码时,不愿意使用‘导出’功能 ...

  3. 设置SVN,Git忽略MAC的.DS_Store文件的方法

    设置SVN,Git忽略MAC的.DS_Store文件的方法 I. 显示Mac隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bo ...

  4. svn git协同管理

    项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看 ...

  5. VSS SVN GIT SVN 加锁签出

    VSS TFS SVN GIT VSS 两大功能: 1.签出后加锁,别人不能签出,独占签出. 2.在服务端可以查看哪些用户签出了哪些文件. 3.查看所有签出未签入的文件列表,SVN未发现此功能. 缺点 ...

  6. svn git 的区别(别再问我了)

    这篇主要是谈谈两者的区别,至于谁优谁劣看官自己思考吧! 把第一条理解到位思想到位了做起来才会有的放矢,其他几条都是用的时候才能体会到 1) 最核心的区别Git是分布式的,而Svn不是分布的.能理解这点 ...

  7. 版本控制— SVN & git

    版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...

  8. 版本控制比较cvs,svn,git

    版本控制比较cvs,svn,git 几个重要概念: 版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户 ...

  9. 版本控制工具比较-CVS,SVN,GIT

    首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...

  10. [git/svn]Git和SVN差异

    转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序 ...

随机推荐

  1. 【Android进阶】Activity和Fragement中onSaveInstanceState()的使用详解

    在activity(或者是fragement)被杀掉之前调用保存每个实例的状态,以保证该状态可以在onCreate(Bundle)或者onRestoreInstanceState(Bundle) (传 ...

  2. Python调用微博API

    上头叫通过微博ID获取用户公布过的历史微博内容,于是研究了下新浪微博提供的API 1 首先在微博开放中心下"创建应用"创建一个应用,应用信息那些随便填,填写完成后,不须要提交审核, ...

  3. C#枚举数和迭代器

    大道至简,始终认为简洁是一门优秀的编程语言的一个必要条件.相对来说,C#是比较简洁的,也越来越简洁.在C#中,一个关键字或者语法糖在编译器层面为我们做了很多乏味的工作,可能实现的是一个设计模式,甚至是 ...

  4. 超过lua上帝的语言

    上帝的语言(god)它是基于lua和RPP新一代编程语言 为什么需要它? 1.好多人不喜欢lua语法,god的语法更像C 2.god支持元编程.闭包.协程 3.凡是lua支持的特性god也支持,lua ...

  5. 设计模式--简单工厂VS工厂VS抽象工厂

    前几天我一直在准备大学毕业生,始终绑起来,如今,终于有时间去学习设计模式.我们研究今天的话题是植物三口之家的设计模式的控制--简单工厂VS工厂VS抽象工厂. 经过细心推敲,我们不难得出:工厂模式是简单 ...

  6. 世界上速度最快的输入法 Fleksy 为了支持中国

    在 Windows Phone 8.1 内置 Word Flow 宣布取得世界最快输入记录后仅几天就打破的 Fleksy 開始測试中文支持了. 总算有一次创新的输入模式里,中文不是被落下的那个.Fle ...

  7. boostrap-非常好用但是容易让人忽略的地方------row

    row是非常好用但是却非常容易忽略的地方. 想实现内部元素相对父级的padding=0,则在父子中间加个row.如下图 列嵌套也是同样的道理 经验之谈:学会row的用法,在手机版布局的时候会很方便,否 ...

  8. Nginx模块开发入门(转)

    前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并 ...

  9. Unity项目优化--开发项目的小经验

    原文地址:http://blog.csdn.net/liang_704959721/article/details/8548619 我们主要使用 3dsmax2010 进行制作,输出 FBX的类型导入 ...

  10. 于ubuntu配置hadoop当问题

    1. 构造ssh登录 我们并不需要改变/etc/ssh/sshd_config 2. 新hadoop用户,home下列不hadoop夹 创建使用下面的命令 useradd -m hadoop 3. n ...