1) 将修改后的文件提交到版本库
命令:
svn commit 文件名 -m "注释内容"
简写:svn ci 文件名 -m "注释内容"
作用:
将修改后的文件提交到版本库中,要注意和svn add 功能的区别,add并不提交到服务器,而是“预定提交到版本库中”。
例子:
假如修改了文件:android2.3/packages/apps/DeskClock/res/layout-land/desk_clock.xml,这时需要将此文件更新到版本库中去,如果版本库中也有这个文件,才可以将此文件更新进去。有多种方式可以更新,这里仅给出2种:
一:在当前目录android2.3/packages/apps/DeskClock/res/layout-land/下使用:
svn ci -m packages/apps/DeskClock/res/layout-land/desk_clock.xml "修改了desk_clock.xml文件中的时钟第20行"
二:先cd到packages/apps/DeskClock/res/layout-land/目录下,然后使用:svn ci -m "修改了desk_clock.xml文件中的时钟第20行"
总结:一般来说,在一个目录下有好几个文件已经修改,这时就可以直接进入到这个目录,然后用svn ci -m "注释" 就能够把这个目录下所有修改的文件提交到版本库中。当然,也可以不使用注释,直接使用svn ci即可,添加注释可以更加清楚修改了什么。
2) 将新添加的文件“预定添加到版本库”
命令:svn add 文件名/目录
作用:
将新的文件预定添加到版本库中(实际上并没有真正地添加到版本库中),前提是,版本库中没有这个文件,这个文件必须是新的。svn add之后,还必须使用svn ci 才能真正的提交到版本库中去。
例1:
假如有一个新文件:android2.3/packages/apps/DeskClock/res/layout-land/desk.xml,这时需要将此文件添加到版本库中去,有多种方式可以添加,这里仅给出2种:
一:在当前目录android2.3/packages/apps/DeskClock/res/下使用:
svn add android2.3/packages/apps/DeskClock/res/layout-land/desk.xml
二:cd到packages/apps/DeskClock/res/layout-land/目录下,然后:
svn add desk.xml即可
注意:add方法并没有把文件真正上传到服务器,还必须使用svn ci提交一下才能更新到服务器中。
例2:
假如有一个目录:rep1/rep2/rep3/a.xml,这个目录和子目录都是新创建的,现在要想把这个目录和子目录以及子目录中的所有文件都添加到版本库中去,怎么办?
方法:cd到rep1目录的父目录中,然后svn add rep1,这个命令会递归地把rep1以及子目录和子目录中的所有文件都“预定提交到版本库”中,然后再svn ci rep1 -m "注释内容”,这样就可以递归地把rep1以及子目录和所有文件真正地提交到服务器中。
3) 将版本库同步到当前项目中,或者说将当前版本更新到版本库中某个版本
命令:svn up -r x test
表示将版本库中的某个文件test或者源代码同步到版本x
例子:
假如版本库中有一个版本27,我想把当前项目同步到版本27,则可以使用:
svn up -r 27
注意:
a. 使用svn up表示从服务器上同步文件,默认情况下同步到最新版本;
b. 要区分up和ci的区别,up是把当前项目更新到版本库中的某个版本,而ci是把当前文件或者某个目录更新到版本库中,如果有新文件,则必须先使用add再ci;
c. svn up只会把更新服务器上新的文件,而不改变本地已经修改的尚未提交到服务器上的文件。
----------------------------------------------------------------------------------------------------------------------------------
2012.4-13 更新svn ci 和 svn add
----------------------------------------------------------------------------------------------------------------------------------
如果要提交这个dir1目录以及该目录下包含的所有添加的文件,那么使用: svn add dir1
然后使用svn ci -m "注释内容"
即可将新增加的目录和该目录中的所有文件都提交到版本库中了。
注意:这种方式会导致一个问题:假如编译内核后,这个目录dir1下面会生成一些.o文件和其他一些目标文件,而这些目标文件是不能提交到服务器的,这种情况下有两种解决方法:
一:直接把这些生成的.o文件和不需要的文件删除掉,然后再svn add dir1。这种方法的缺点就是需要重新编译。
二:不删除生成的.o文件和其他文件,先使用svn add --depth=empty dir1 将这个目录添加,而并不添加目录下面的其他文件,然后再svn ci dir1提交这个空目录,最后再以这种方式:svn add ./dir1/fie_a 添加该目录下的其他指定的文件,然后再svn ci ./dir1/fie_a 就可以了,这避免了勿提交不需要的文件。这种方法的缺点就是对于提交较多文件时不方便。
——————————————————————————————————————————————————————
2012.5.10 更新
——————————————————————————————————————————————————————
查看修改的所有的log记录:svn log
查看某个具体版本号的所有修改的记录: svn log -v -r n
注:n是某个版本号
例子:
假如要查看320这个版本号的修改记录,就用:svn log -v -r 320
————————————————————————————————————————————————————————
2012.6.6 更新
————————————————————————————————————————————————————————
要比较两个版本有什么差异,或者说想知道某个版本和之前的版本相比到底修改了哪些内容,用diff命令即可:
svn diff -r m:n path
例如:svn diff -r 200:201 x.c (对x.c这个文件的版本200和版本201比较差异)
然后终端会出现修改的记录,减号表示旧版本中的,加号表示新版本中要添加的内容,@@符号后面第一个是修改后的行数。
————————————————————————————————————————————————————————
2012.8.28 更新
————————————————————————————————————————————————————————
svn up (svn update) 状态缩写含义:
A:add,新增
C:conflict,冲突
D:delete,删除
M:modify,本地已经修改
G:modify and merGed,本地文件修改并且和服务器的进行合并
U:update,从服务器更新
R:replace,从服务器替换
I:ignored,忽略
相关推荐
下面是 Linux 详细教程大全之 SVN 命令总结,涵盖了 SVN 的基本概念、常用命令和高级应用。 一、从版本库获取信息 svn help command:获取子命令说明 svn info $URL:查看工作空间信息,若是目录地址,查看本地...
在了解了打基线的基本概念之后,接下来详细介绍一些常用的SVN命令,这些命令可以帮助我们在SVN中有效地进行打基线操作。 ##### 1. 创建标签(tag) 创建标签是一种非常简单的方式,可以用来记录项目的一个快照。...
### SVN命令总结 #### 一、概述 Subversion(简称SVN)是一种广泛使用的版本控制系统,主要用于软件开发项目中管理源代码的历史版本。通过SVN,开发者可以追踪每一行代码的变更历史,协同进行开发工作,并确保代码...
### git常用命令总结 在日常开发工作中,Git作为版本控制系统被广泛使用,它能帮助团队高效地管理代码版本,提高协同工作的效率。本文将根据给定的文件信息,详细总结并解释Git中的常见命令及其用途。 #### 1. Git...
SVN,全称为Subversion,是一种广泛应用于软件开发领域的版本控制系统。它允许团队成员协同工作,跟踪代码更改,管理项目历史,并确保代码的...通过熟练掌握这些SVN命令,开发者可以更高效地进行团队协作和项目管理。
以上命令涵盖了Subversion (SVN) 中常用的命令及其基本用法。掌握这些命令对于有效地使用SVN管理项目版本是非常重要的。通过熟练使用这些命令,可以提高团队协作效率并确保项目的稳定性和一致性。
Git是分布式版本控制系统的一种...掌握Git的常用命令和概念是现代软件开发者的必备技能,它能够极大地提高工作效率并保证代码的质量。通过持续实践和学习,开发者可以充分利用Git的强大功能来优化项目管理和开发流程。
以下是一些基于标题和描述中提及的SVN常用操作的详细说明: 1. **Checkout(检出)**: 当你需要从SVN服务器获取项目代码时,你需要进行检出操作。在资源管理器中,选择右键菜单,然后点击“SVN Checkout…”填写...
此外,还学习了如何通过日志记录功能监控SVN服务的运行状态,以及一些常用的辅助命令如`nohup`、`killall`等,这些都对实际操作提供了极大的帮助。希望以上内容能够帮助读者更好地理解和掌握Linux下SVN服务的操作...
`svn merge`是Subversion(简称svn)中的关键命令,用于将一个分支或标记的修改合并到另一个分支。在版本控制系统中,合并是协同开发的核心操作,它允许团队成员同步各自的工作,避免代码冲突。以下是一些关于`svn ...
本文档将详细介绍SVN的一些常用命令及其应用场景,帮助用户更好地理解和掌握如何通过命令行方式高效地使用SVN。 #### 二、基本操作命令 ##### 1. 将文件checkout到本地目录 **命令格式**: ``` svn checkout path ...
#### 二、SVN命令详解 ##### 1. `svn help` **命令格式**: ``` svn help [command] ``` **功能说明**: - `svn help` 命令用于显示所有可用的SVN命令列表。 - `svn help <command>` 用于显示特定命令的帮助信息。 ...
在Linux操作系统中,掌握常用命令是日常开发和运维工作中的基础技能。本文将详细解析一些常见的Linux命令,帮助研发人员更好地理解和运用。 首先,我们来看更新和安装软件的部分。`apt-get update`用于更新软件源...
以下是对标题和描述中提到的一些Unix常用命令的详细说明: 1. **ls**:`ls`命令用于列出目录中的文件和子目录。不同的选项可以提供不同的输出格式: - `-R` 递归列出所有子目录的内容。 - `-a` 显示包括隐藏文件...
最常用的SVN服务端软件是Apache Subversion(也称为“Apache SVN”或“Apache2”). 安装SVN服务端涉及以下几个步骤: 1. 安装Apache HTTP Server(Apache2):这是SVN服务端的基础,它提供HTTP和HTTPS协议来与...
**解释**: `svn switch` 命令可以将工作副本切换到另一个 URL,而 `svn switch --relocate` 命令则仅更改 URL 元数据而不实际移动工作副本。 #### 三、总结 通过以上介绍,我们了解了在 Linux 系统下如何使用 SVN ...
### 其他常用命令 - **`git status`**:查看工作区和暂存区的状态。这对于了解哪些文件已被修改但尚未提交非常有用。 ```sh git status ``` - **`git stash`**:将当前的改动保存到一个临时区域,以便于切换...
总结,SVN是团队开发中的关键工具,通过理解和熟练运用其基本操作和特性,可以有效地管理项目文件,提高协作效率,确保代码的质量和稳定性。通过本次公司内部的SVN使用培训,大家将能更好地掌握这一工具,提升团队...