vss命令行
一、环境变量配置
“我的电脑”-》“属性”-》“高级”-》“系统环境变量”
注:也就是VSS安装文件 ,SSEXP.EXE所在的路径:如 ;E:\Vss\win32
ODS所用的VSS服务器路径:\\10.220.2.157\srcb_vss\
如图:
3) 命行中输入ss ,如果执行成功,则说明环境变量设置成功。
输入ss命令后提示输入用户名找不到的话,继续设置用户名SSUSER 和密码 sspwd的环境变量名,变量值为 VSS登录的用户名和密码,如
如:
到此整个配置完成
二、SS命令使用
使用ss Get命令获得源代码
2)在命令行中执行 ss Get $/[project] –R,此命令会递归获得项目的完整代码 [project]替换VSS中的项目。
3)在命令行中执行 ss Get [file],此命令可以获得当前项目中指定的文件 [file] 替换为VSS项目中的文件。
使用 ss Chekout命令签出源代码
2)在命令行中执行 ss Checkout -R $/[project],此命令将会递归签出项目所有文件。
3)在命令行中执行 ss Checkout [file1] [file2],此命令将可以同时签出多个文件。
使用 ss Checkin 命令签出源代码
1)在命令行中执行 ss Checkin [file],此命令将可以指定的文件签入。
2)在命令行中执行 ss Checkin * -P ,此命令将可以签入所有签出的文件。
三、一些通用的命令行选项:
Option | Description |
-C | 为指定项(可以是多项)做注释 (Dir例外) |
-O | 重定向命令 |
-V | 操作某项的指定版本 |
-R | Perform a command recursively. |
-S | Turn SmartMode on or off for the command. |
-G | Change the way the Get command works on any file retrieved to the local drive. |
-W | 指明本机副本是否只读(使用此参数,表示writable) |
-N | 在长短文件名两种模式间切换 |
-I- | 任何环境下都不提示输入 |
-Y | 指定用户名和密码 |
-?, -H | 两个参数的作用都是获得在线的帮助 |
四、一些常用命令:
1.设置vss命令行程序ss.exe的路径:
PATH=%PATH%;X:\……\Microsoft Visual Studio\Common\VSS\win32
2.设置vss数据库的路径(注意):
set ssdir=\\cmserver\Project
3.设置vss的登录用户名:
set ssuser=yourAccount
4.设置vss的登录密码:
set sspwd=yourPwd
ss get -GLD:\tmp $/ASP.Net/DataGridTest/index.aspx
(ss get, -GLpath Copies a file to the specified folder, not to the current or working folder. )
ss dir $/ASP.Net -R|more (另外,有-I -V 两个参数,作用未知)
7.vss命令行是大小写不敏感的;命令行中的命令不需要全名,同sql一样,只要是可以识别的名字及可,如Dir就是directory的缩写;
(遵守UNC通用命名规则,Universal Naming Convention)
8.命令中有空格时,用双引号括起整个选项,如用ss CP "-Yeric Lv",eric123 而不用ss CP -Y"eric lv",eric123,
9.启动图形界面:ssexp -s\\gqa-eric-lv\vss
ss Add TEST.C "My long filename.H" ,把TEST.C和"My long filename.H"两个文件添加到当前项目;
ss Checkout TEST.C TEST.H Checkout当前项目中的两个文件
ss Checkout $/TESTDATA/TEST.C Checkout指定项目中的文件
ss Checkout -R $/TESTDATA 循环Check项目$/TESTDATA
ss Comment TEST.C -V5 改变TEST.C的版本号为5的版本注释
ss Comment TEST.C 改变TEST.C的最新版本的注释
ss Comment $/TESTDATA 改变项目$/TESTDATA的注释
ss Cp $/WORD 设置$/WORD为Current Project
ss Cp .. 跳转到当前项目的父项目
ss Delete $/PRJ/TEST.C 删除文件TEST.C (delete命令删除的文件,可以用直接add命令回复,如Add test.C)
ss Delete $/PRJ 删除项目 (不可以有两个同名的文件被delete,因为没有真正删除)
ss -S Delete *.* 删除所有文件,-S表示删除VSS上的文件之后,删除本机文件
ss Destroy $/PRJ/TEST.C 持久删除文件(不可恢复)
ss Destroy $/PRJ 持久删除项目
11.vss Check Out单个文件:
ss Checkout $/vssPath/fileName
12.vss Check In 单个文件:
ss checkin $/vssPath/fileName -C"your comment"
13.vss Undo Check Out单个文件:
ss Undocheckout $/vssPath/fileName
ss Checkout $/vssPath/ -R
ss checkin $/vssPath/* -R -C"your comment"
16.取单个文件最新版本:
ss Get $/vssPath/fileName
17.取整个工程到本地 :
ss Get $/vssPath/* -R
18.取vss服务器上的文件到指定地方(注意"-GL"后面没有空格!) :
ss get -GLX:\dest $/vssPath/fileName.txt
19.其他的更改操作有:
label,merge,move,password,purge,recover,rename,rollback,share,undocheckout,workfold,branch等命令,这些命令会改变VSS数据库的内容或者环境。
20.VSS命令行中的比较/查找/显示等不改变数据库和环境的命令:
diff,dir,FileType,Get,help,history,links,paths,project,properties,status,view,whoami
21.显示最近的Version,Label信息:SS properties
22.显示Checkout的文件:SS Status
ss get $/Pro/*?* -R -vlID123
要点1:通配符除*?*外,**(2个以上都)可以,但*不行
要点2:v和vl有区别,前者是version号,vl才是label号