SVN相关命令

http://subversion.tigris.org获取subversion for windows的版本,安装之后就有了svn.exe这个基于命令行的客户端工具。当然服务器端的程序也有了,这里就不关心如何配置SVN服务了。安装程序把svn.exe的路径加入了path环境变量,我们已经可以在命令行中直接输入svn就可以使用了。

如果你不知道命令怎么用svn命令,可通过如下方式查询:
svn help
知道了子命令,但是不知道子命令的用法,还可以查询:
svn help ci 

开发人员常用命令

导入项目
svn import http://svn.chinasvn.com:82/pthread --message "Start project"

导出项目
svn checkout http://svn.chinasvn.com:82/pthread

采用 export 的方式来导出一份“干净”的项目
svn export http://svn.chinasvn.com:82/pthread pthread

为失败的事务清场
svn cleanup

在本地进行代码修改,检查修改状态
svn status -v
svn diff

更新(update)服务器数据到本地
svn update directory
svn update file

增加(add)本地数据到服务器
svn add file.c
svn add dir

对文件进行改名和删除
svn mv b.c bb.c
svn rm d.c

提交(commit)本地文档到服务器
svn commit
svn ci
svn ci -m "commit"

查看日志
svn log directory
svn log file

相关的一些东西:
1、在本地文件中,每个目录下都有一个.svn文件夹(属性为隐藏),保存了相关的信息。
2、注册环境变量SVN_EDITOR为"E:\Program Files\Vim\vim71\gvim.exe",结果在svn ci的时候,出现错误:

'E:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
svn: 提交失败(细节如下):
svn: system('E:\Program Files\Vim\vim71\gvim.exe svn-commit.tmp') 返回 1

SVN_EDITOR改为"gvim.exe",并且在path中添加路径"E:\Program Files\Vim\vim71\",这样就可以在提交的时候用vim编写注释了。

 

 

1、   将文件checkout到本地目录 
svn checkout path(path是服务器上的目录) 
例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 
2、   往版本库中添加新的文件 
svn add file (这里恐怕后面要添加目录吧!) 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3、   将改动的文件提交到版本库 
svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果选择了保持锁,就使用–no-unlock开关) 
例如:svn commit -m “add test file for my test“ test.php 简写:svn ci 4、   加锁/解锁 
svn lock -m “LockMessage“ [--force] PATH 例如:svn lock -m “lock test file“ test.php svn unlock PATH 5、   更新到某个版本 
svn update -r m path 例如: 
svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200) svn  update test.php (更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit) 
简写:svn up 
6、   查看文件或者目录状态 
1)   svn status path(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 
2)   svn status -v path(显示文件和子目录状态) 
第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 
注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可

以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 
简写:svn st 7、   删除文件 
svn delete path -m “delete test fle“ 
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file” 
或者直接svn delete test.php 然后再svn ci -m „delete test file„,推荐使用这种 
简写:svn (del, remove, rm) 8、   查看日志 
svn log path 
例如:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化 9、   查看文件详细信息 
svn info path 
例如:svn info test.php 10、 比较差异 
svn diff path(将修改的文件与基础版本比较) 例如:svn diff test.php 
svn diff -r m:n path(对版本m和版本n比较差异) 例如:svn diff -r 200:201 test.php 简写:svn di 
11、 将两个版本之间的差异合并到当前文件 
svn merge -r m:n path 
例如:svn merge -r 200:205 test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下) 12、 SVN 帮助 
svn help svn help ci 
13、 版本库下的文件和目录列表 
svn list path 
显示path目录下的所有属于版本库的文件和目录 简写:svn ls 
14、 创建纳入版本控制下的新目录 
svn mkdir: 创建纳入版本控制下的新目录。

posted @ 2013-07-08 12:55  pmars  阅读(1816)  评论(0编辑  收藏  举报