SVN & Git (一)
(一)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 (一)的更多相关文章
- svn/git的diff、patch
svn/git的diff.patch 前几天,正当我突突的写代码,企业微信嘀嘀一声响”在不,过来帮我看个bug”.本人一向助人为乐,高兴的冲了过去,然后就开始了一段长达1分钟的问题描述.很明显,此同学 ...
- SVN/GIT源代码泄露
造成SVN源代码漏洞的主要原因是管理员操作不规范.在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息.但一些网站管理员在发布代码时,不愿意使用‘导出’功能 ...
- 设置SVN,Git忽略MAC的.DS_Store文件的方法
设置SVN,Git忽略MAC的.DS_Store文件的方法 I. 显示Mac隐藏文件的命令: defaults write com.apple.finder AppleShowAllFiles -bo ...
- svn git协同管理
项目开发过程中总有一些奇奇怪怪的需求出现. 我们的项目管理是使用SVN的,用SVN是历史原因,无法整个项目向Git切换.由于我需要管理SVN,做一些代码合并工作.每次合并都会遇到SVN代码需要对比查看 ...
- VSS SVN GIT SVN 加锁签出
VSS TFS SVN GIT VSS 两大功能: 1.签出后加锁,别人不能签出,独占签出. 2.在服务端可以查看哪些用户签出了哪些文件. 3.查看所有签出未签入的文件列表,SVN未发现此功能. 缺点 ...
- svn git 的区别(别再问我了)
这篇主要是谈谈两者的区别,至于谁优谁劣看官自己思考吧! 把第一条理解到位思想到位了做起来才会有的放矢,其他几条都是用的时候才能体会到 1) 最核心的区别Git是分布式的,而Svn不是分布的.能理解这点 ...
- 版本控制— SVN & git
版本控制—— SVN & GIT 提问 什么是版本控制? 是能够一直监视代码文件的变更,并存储这些文件以便将来引用的一种机制(软件) 为什么要使用版本控制? (1)记录哪个开发人员做了变更 ( ...
- 版本控制比较cvs,svn,git
版本控制比较cvs,svn,git 几个重要概念: 版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户 ...
- 版本控制工具比较-CVS,SVN,GIT
首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...
- [git/svn]Git和SVN差异
转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序 ...
随机推荐
- 作为一个新人,如何学习嵌入式Linux?
作为一个新人.如何学习嵌入式Linux?我一直在问太多次,特写文章来回答这个问题. 在学习嵌入式Linux之前.肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要 ...
- 3.cocos2dx它Menu,由menu为了实现场景切换
1 头文件 TMenu.h #ifndef __TMENU_H__ #define __TMENU_H__ #include "cocos2d.h" USING_NS_CC; ...
- XCODE4.6创建我的第一次ios规划:hello
对于非常多刚開始学习的人来说,肯定希望自己尝试不用傻瓜的"Single View Application"模板创建一个含有View的窗体.而是希望能从零開始,先建一个空的框架.然后 ...
- 终端查询数据库sqlite(创建你自己,或者是coredata创建)那里的东西
首先需要知道数据库的路径,coredata一般都是在沙箱中创建Documents目录的.虽然他建立了自己看, sqlite3 #数据库路径# //进入数据库 .tables //查看数 ...
- FreeBSD包管理
FreeBSD软件没有安装Ubuntu的apt-get.它也不是Gentoo的portage.有三种方式: package ports 自主进行源代码编译安装 这里简介前两种. FreeBSD 6.0 ...
- java 工厂的变形模拟的各种应用
工厂模式是在项目开发中使用效率高,意一个接口,该定义用于创建对象.让子类来决定哪一个类实例. 这就是一个工厂类的示意图 接着来一个简单的样例: 如上图所看到的,我们首先定义我们的产品抽象类接口,也能够 ...
- css javascript 自动化压缩(保存后即自动生成压缩文件)
先上图:
- 解决github访问问题
github这是个好地方.但是,上不去就蛋疼. 今天github上不去,果断f12下,看下network.发现里面好多请求都是指向 github.global.ssl.fastly.net这个域名的, ...
- 动态规划,而已! CodeForces 433B - Kuriyama Mirai's Stones
Kuriyama Mirai has killed many monsters and got many (namely n) stones. She numbers the stones from ...
- OpenWRT GPIO人口控制 WLED
Linux根据系统GPIO系统架构简介 关于这个GPIO我一直认为非常非常长的时间easy.但.当你需要给一个特定的系统,参与这些GPIO什么时候.你会找到.不对,实例,mt7620n. GPIO#7 ...