1、将文件checkout到本地目录 svn checkout svn文件路径 简写:svn co 2、往版本库中添加新文件 svn add 文件名 3、将改动的文件提交到版本库 svn commit -m "注释" 文件名 简写:svn ci 4、加锁/解锁 svn lock -m "注释"[--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、查看文件或者目录状态 一、svn status PATH(目录下的文件和子目录的状态,正常状态下不显示)[?:不再svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定] 二、svn status -v PATH(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人 注:svn status、svn diff、svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝 7、 删除文件 svn delete path -m "注释" 或者直接svn delete path 然后再svn ci -m "注释",推荐使用 简写:svn (del/remove/rm) 8、查看日志 svn log path eg:svn log test.php 显示这个文件的所有修改记录,及其版本号的变化 9、查看文件详细信息 svn info path eg:svn info test.php 10、比较差异 svn diff path(将修改的文件与基础版本比较) eg: svn diff test.php svn diff -r m:n path(对版本m和版本n比较差异) eg:svn diff -r 200:201 test.php 简写:svn di 11、将两个版本之间的差异合并到当前文件 svn merge -r m:n path eg: svn merge -r 200:205 test.php (将版本200和205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下) 12、svn帮助 svn help svn help ci 查找分支产生的版本(分支的“基准”)的最好方法是在svn log中使用--stop-on-copy选项,log子命令通常会显示所有关于分支的变化,包括创建分支的过程,就好像你在主干上一样,--stop-on-copy会在svn log检测到目标拷贝或者改名时中止日志输出。 所以,在我们的例子里, $ svn log -v --stop-on-copy \ http://svn.example.com/repos/calc/branches/my-calc-branch … ------------------------------------------------------------------------ r341 | user | 2002-11-03 15:27:56 -0600 (Thu, 07 Nov 2002) | 2 lines Changed paths: A /calc/branches/my-calc-branch (from /calc/trunk:340) $ 正如所料,最后打印出的版本正是由my-calc-branch拷贝生成的版本。 可以使用svn merge --dry-run来模拟merge一下,看一下merge会发生什么,而不是真正的做这个动作。
svn使用
最新推荐文章于 2024-09-09 20:11:22 发布