导语:
之前刚接触过SVN使用的是客户端Cornerstone,确实很方便。但是不知道大家有没有感觉使用命令行似乎更炫酷,好了,不多说了,把之前看的SVN命令行都整理了一下。
步骤
1.把文件拷贝到本地目录
(1)首先先到某个本地路径下,再把文件拷贝到该路径下,方便查找
svn co path
注意:path 是你服务器上的目录地址
(2)把本地文件(即你要上传的文件)复制到该文件路径下面
cd 到该文件路径下,查看状态
svn status
各种状态请看21条
2.复制完文件之后,状态基本上是A,这时候执行添加命令
svn add file
注意:file是你要添加的文件名字
3.添加完之后,就要提交你做的更改
svn ci -m "注释信息"
注释信息就是你做了什么更改
这时候,提交完,可以在查看下状态,发现已经没有状态显示出来了。
4.如果要是在版本库中新建一个目录,怎么做呢?
(1)cd 到路径你要创建的文件的上级目录,执行
mkdir test
或者文本信息都可以
mkdir text.txt
(2)添加进去
svn add test
(3)提交
svn ci -m "注释信息"
5.删除文件
svn del test
然后在执行提交命令
6.查看日志(显示这个文翰的所有修改的记录及其版本号的变化)
svn log test
7.查看文件详细信息
svn info test.txt
8.比较差异,当你修改了某个文件,还没有提交时,有差异
svn di test.txt
提交差异之后差异就没了
9.不用checkout,也可以查看服务器上的文件内容
注意:是某个特定的文件,或者URL的内容,而不是目录文件
svn cat path
svn cat detail.html
10.任意导入文件
svn export path
或者把一个文件直接导入到另一个文件下,导出之后,此路径下面有个新创建好的abcdText,abcdText下面有test
svn export test abcdText
11.更新你的工作拷贝得到所有人这段时间做出的修改,让你的工作拷贝与最新的版本同步
svn update
12.移动文件,也可以是URL到URL
svn move test.txt ABC
把test.txt 移动到ABC下面,如果路径下没有ABC,则新创建个ABC
13.找到时间段内的所有版本
svn log -r {2017-8-8}:{2017-8-10}
14.显示特定 文件和URL内嵌的作者和修订版本信息,后面的文件必须是一个特定文件,而不是一个文件夹
svn blame detail.html
15.拷贝文件,原路径即可以使工作拷贝路径也可以是URL路径,目的路径也是一样
把 test 拷贝到 ABC下,即 “原路径” 到 ”目的路径“,然后在提交一下
svn copy test ABC
svn ci -m "注释信息"
16.取消本地修改,在提交之前revert
svn revert test
17.import 只针对URL操作
svn import path
18.列出目录的条目,也可以列出版本库URL下的目录
ls
svn ls path
19.lock锁定版本库的工作拷贝路径或者URL,以至于其他人不能提交这些文件的修改,unlock,解锁锁定的文件
svn lock detail.html
svn unlock detail.html
20.mkdir 创建新的目录
mkdir file1
svn add file1
svn ci -m "注释信息"
21.各种状态
' ':没有修改。
'A':预定要添加的项目。
'D':预定要删除的项目。
'M':项目已经修改了。
'R':项目在工作拷贝中已经被替换了。这意味着文件预定要删除,然后有一个同样名称的文件要在同一个位置替换它。
'C':项目的内容(相对于属性)与更新得到的数据冲突了。
'X':项目与外部定义相关。
'I':项目被忽略(例如使用svn:ignore属性)。
'?':项目不在版本控制之下。
'!':项目已经丢失(例如,你使用svn移动或者删除了它)。这也说明了一个目录不是完整的(一个检出或更新中断)。
'~':项目作为一种对象(文件、目录或链接)纳入版本控制,但是已经被另一种对象替代。