SVN 一些常用指令

背景

有很多时候,是没办法用小乌龟的,所以,还是得记一下一些常用指令,能不能加班,有时候就看这些细节了。

指令

1、查看文件与版本对比

svn diff xxx.java

2、SVN 只checkout 目录

svn co --depth=immediates https://{ip}:{port}/svn/trunk/path-a/path-a-x/patha-x-1/  
  
--depth 是有几个选项的, 
	- empty:只checkout空目录
	- files:只co文件
	- immediates:只co当前一层的文件/文件夹
	- infinity:遍历co当前及以下所有的文件及文件夹
	
所以,如果只想把 path-a 目录下的文件全部co下来,就在当前文件夹中,找开控制台窗口
	svn co --depth=immediates https://{ip}:{port}/svn/trunk/path-a/
    
然后,再进入下一级,如果这个时候,想再把 path-a-x 目录更新下来,如果这个时候,直接 svn update 的话,是没有效果的,
还是需要 svn co --depth=infinity https://{ip}:{port}/svn/trunk/path-a/path-a-x/ 改一下  --depth 的参数才行。

对了,呃,如果想要checkout path-a-x 目录的所有文件夹,是需要去到它的父级目录下(即 path-a目录下找开命令行窗口),执行 svn co --depth=immediates https://{ip}:{port}/svn/trunk/path-a/path-a-x,否则它是没有用的~

3、将本地文件夹推送到远端 SVN 仓库,并将其挂载到一个新的地址

比如当下有一个 test2025/ 一个文件次,现在 svn 上已经有了 https://10.1.101.100:8800/svn/资料/2023,https://10.1.101.100:8800/svn/资料/2024, 现在想要新增一个 https://10.1.101.100:8800/svn/资料/2025

checkout的时候,分别把 2023,2024 check 下来,并没有把上一级(https://10.1.101.100:8800/svn/资料/) checkout下来,所以没办法直接创建2025,add, commit 上去。

这个时候可以使用: svn import 2025/ https://10.1.101.100:8800/svn/资料/2025 -m "创建2025年资料"

这样就方便多了。

嗯,反正试多几下就可以了。

posted @ 2022-03-01 14:48  aaacarrot  阅读(109)  评论(0)    收藏  举报