svn 基本命令(zt)

来源:互联网 发布:100以内的质数c语言 编辑:程序博客网 时间:2024/05/04 10:09
把本地项目testsvn整个目录里的内容往备份站点塞, 这是最初的结构, 建立最初的rev 0
以后checkout回来同样是按该路径,把目录下的(不包括最后的目录名)文件取回
svn import testsvn svn://path/to/repos -m  "最后的这个注释不能少"

取回项目, 路径同上. 最后取出来的新目录名不给定就会用最后路径的最后一个目录名, 这里就是repos目录
svn checkout svn:///path/to/repos A_NewProjectName

更新本地项目. 千万记得,通过第一步import后的那个目录并没有默认建立svn与远程的关系,需要手动从服务器checkout回服务器的版本到本地, 才算正式建立与远程的关系(什么关系? 复杂关系!). checkout回来的项目就可以时不时地执行:
svn update

搅和取回来的项目一番后,察看动了什么(一下命令都要在项目目录下运行)
svn status

你对目录结构的修改或添加删除文件等类操作不能自动commit, 需要根据svn status显示的提示将文件/目录 明确 告诉svn是add, delete, copy 还是move
svn add new_dir
svn delete new_dir
svn status仅仅显示最根本的信息,更多的改动变化通过这个获得:
svn diff


查看项目当前状态。
svn status
查看你做的更改。
svn diff
svn commit      -m “message”       提交你的改变到版本库中,后面参数为此次发动的注释.

svn  list                   列出版本库中当前目录下的文件

svn delete file          在本地中删除file文件。svn commit  提交更新才会在版本库实际删除file文件。

svn  add      file        增加file文件。同样只有在svn commit 提交后才会在版本库中实际增加。


svn move file file2           将file文件更名为file2 
.
svn revert                      去除更改。后面可接操作过的文件。
svn log                                    svn 日志。

svn各种状态关键字意义:
L    abc.c               # svn已经在.svn目录锁定了abc.c
M      bar.c               # bar.c的内容已经在本地修改过了
M     baz.c               # baz.c属性有修改,但没有内容修改
X      3rd_party           # 这个目录是外部定义的一部分
?      foo.o               # svn并没有管理foo.o
!      some_dir            # svn管理这个,但它可能丢失或者不完整
~      qux                 # 作为file/dir/link进行了版本控制,但类型已经改变
I      .screenrc           # svn不管理这个,配置确定要忽略它
A  +   moved_dir           # 包含历史的添加,历史记录了它的来历
M  +   moved_dir/README    # 包含历史的添加,并有了本地修改
D      stuff/fish.c        # 这个文件预定要删除
A      stuff/loot/bloo.h   # 这个文件预定要添加
C      stuff/loot/lump.c   # 这个文件在更新时发生冲突
R      xyz.c               # 这个文件预定要被替换
S  stuff/squawk        # 这个文件已经跳转到了分支


提交你涂污后的大作:
svn commit


温馨提示: 你可以本地建一个服务器来玩玩,
svnadmin create g:/repos
记得把g:/repos/conf目录下的passwd和svnserve.conf里的注释去掉, svnserve.conf里要改为
[general]
password-db = passwd  # 这个表示我要用目录下的passwd文件当作访问密码设置
passwd里要加上用户名
[users]
thisis = userpwd
之后,你就可以通过file:///g:/repos来访问.
或者, 由svnserve -d -r g:/repos 建立本地svn协议服务器,然后通过svn://localhost/来访问
你总是可以通过svn list svn://localhost/来察看服务器该路径下的内容. 然后通过svn checkout 把路径目录下的内容(不包括最后路径目录) 取回到 "./最后路径名/"目录下.
 
http://javaite.javaeye.com/blog/156869
 
原创粉丝点击