SVN相关
来源:互联网 发布:ubuntu 17.04 安装后 编辑:程序博客网 时间:2024/06/03 14:52
一、原因
为了解决无法后悔、版本备份、版本混乱、代码冲突、权限控制、追究责任等问题,一般地在公司里会用到SVN来进行源代码的管理。
二、SVN概述
1、常见的源代码工具有:SVN:Subversion,集中式版本控制;GIT:分布式版本控制。
利用SVN管理源代码,必须得有2套环境:
1)服务器:可在Windows上安装Visual SVN Server;
2)可以在Mac上使用命令行、Versions、Cornerstone;
3)概念:
Repository:代码仓库,保存代码的仓库
Server:服务器,保存所有版本的代码仓库
Client:客户端,只保存当前用户的代码仓库
用户名&密码:访问代码仓库需要使用自己的"用户名和密码",从而可以区分出不同的人对代码做的修改
2、SVN服务器安装 Visual SVN Server
1)添加代码仓库,弹框是否勾选默认结构(trunk, branches, tags);
trunk:主干,
branches:分支,
tags:当项目上架稳定版本到APP store时备份到这个文件夹,后续发现上架版本有bug时便于修改。
2)添加开发用户,设置权限,选中项目的代码库,点击右键,选择"Properties"。
3)协议
https 端口 443
http 端口 80
其中HTTPS = HTTP + SSL,是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
4)协议的修改
选中"VisualSVN Server",点击鼠标右键,选择"Properties"
选择"Network",勾选"Use secure connection"会使用https协议访问服务器的代码仓库
5)SVN基本命令
a、命令行格式:
svn <subcommand> [options] [args]
说明
svn 子命令 [选项] [参数]
提示:
[中括号]中包含的内容是可选的
(子命令缩写)
b、查看帮助信息
svn help:查看svn所有命令的帮助;
svn help 子命令:查看具体某个子命令的用法。
c、svn (status)st:查看本地代码库状态;
状态返回描述:
' ' 没有修改
'A' 被添加到本地代码仓库
'C' 冲突
'D' 被删除
'I' 被忽略
'M' 被修改
'R' 被替换
'X' 外部定义创建的版本目录
'?' 文件没有被添加到本地版本库内
'!' 文件丢失或者不完整(不是通过svn命令删除的文件)
'~' 受控文件被其他文件阻隔
checkout:将服务器上最新的代码仓库下载到本地,"只需要做一次"
update:从服务器上将其他人所做的修改下载到本地,"每天上班必须要做的事情"
commit:将工作提交到服务器,"每天下班之前至少做一次"
svn log:查看svn日志
svn log filename:查看某一个文件的日志
svn log filename@1:查看某一个文件某个版本的日志
svn add main.c:将文件添加到本地版本库中
svn ci -m "添加了文件":将文件提交到服务器的版本库中
svn rm Person.h:删除文件
svn ci -m "删除了文件":提交删除
注意:不要使用文件管理器直接删除文件
svn revert Person.m:撤销修改
svn up:恢复到之前的某个版本
d、冲突解决
(p) postpone:对比
(mc) mine-conflict:使用我的
(tc) theirs-conflict:使用对方的
6)UNIX常用命令
cd:改变工作目录
pwd:输出当前工作目录的绝对路径,在UNIX中要执行什么命令,一定要知道自己当前所在的工作目录
ls:查看文件
ls -a:显示所有文件
ls -l:列表显示文件
ls -la:列表显示所有文件
ls -G:带颜色显示
touch:用于更改文件访问和修改时间的标准UNIX程序,也被用于创建新文件,如:touch myfile.txt
注意:touch不修改myfile.txt内容,只更改它的访问、修改时间,如果myfile.txt不存在,它会被创建
open:打开并编写文件内容,如:myfile.txt
cat:连续查看文件内容
more:分页查看文件内容
- svn相关
- SVN相关
- svn相关
- SVN 相关
- svn相关
- SVN相关
- SVN相关
- SVN 相关
- SVN相关
- SVN相关
- SVN相关
- SVN相关
- SVN 相关
- SVN相关下载地址
- SVN 相关命名脚本
- SVN使用相关资料
- SVN相关配置
- SVN操作相关记录
- 接口与抽象类的区别
- 初始web前端开发
- TimesTen内存数据库评估和计算表大小及碎片
- ActiveMQ入门实例
- Android练习项目 Mp3播放器实现 歌词解析(三)
- SVN相关
- android framework 触摸屏事件传递
- Device Tree(三):代码分析
- Xcode 【本地git 篇(2)】
- ProgressBar进度条相关
- Android FrameWork——Touch事件派发过程详解
- linux
- 严重: WSSERVLET11: failed to parse runtime descriptor: The serviceName cannot be retrieved from an int
- 1007