❶ windows 怎么用svn命令
1、Windows下命令行工具:
发现原来安装的tortoisesvn已经集成到shell中,不能在命令行下使用。
下载Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具,解压后把里面bin目录这个路径添加到环境变量的path,这样在cmd下就可以使用了,和linux下使用svn的习惯一样了。
目录约定:
/trunck:开发主线
/branches:支线副本
/tags:标签副本(一旦创建,不允许修改)
1)使用trunk作为主要的开发目录
一般的,我们的所有的开发都是基于trunk进行开发,当一个版本(release)开发告一段落(开发、测试、文档、制作安装程序、打包等结束后),代码处于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。
当下一个版本/阶段的开发任务开始时,继续在trunk进行开发。此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。解决方法是基于发行版对应的tag,做相应的分支(branch)进行开发。
2)下图为struts2的SVN仓库目录:
3、常用命令
svn help
svn --version
svn --version --quiet 只显示版本号
svn checkout 地址
svn add 文件或者文件夹 增加本地数据到服务器
svn commit / svn ci -m “注释” 文件名 提交代码,要先add才commit
svn update / svn up不必跟特定的文件或目录,也可以自己指定需要更新的文件或目录。每次commit或者改动之前最好更新一下。
svn log
svn delete 文件名
svn resolve 路径 --accept working 解决冲突
http://zccst.iteye.com/blog/1765519
svn switch 远程路径 版本切换
svn list路径/svn ls 列出版本库下的文件和目录
svn merge -r m:n 路径 合并文件,从版本号m到版本号n的远程分支都合并到当前分支中
svn info 确认工作目录的svn信息
svn diff -r m:n 路径 对版本m和版本n比较差异
svn cleanup 为失败的失误清场
svn status -v 在本地进行代码修改,检查修改状态
svn import 远程路径 --message “message” 将当前路径下文件导入到版本库中
svn export 远程路径 导出一份干净的项目
svn move/ svn mv 原文件名 新文件名 重命名
svn mkdir 文件名
svn / svn cp 源文件路径 新文件路径
svn revert 文件名 只能恢复未提交之前的操作
若要还原已提交的改动:只能用旧文件覆盖新文件。操作如下:
1)sun up 让本地工作拷贝更新到最新状态
2)svn log your_file_path 查看文件日志,这时候提交时填写的说明信息就派上用场了
3)svn diff -r 旧修订版序号:新修订版序号 your_file_path 查看两个修订版之间的不同。
4)决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。svn merge -r 新修订版序号:旧修订版序号 your_file_path
5)svn commit -m "恢复到某修订版(某修订版作废)"
本地的版本叫做working
4、关于merge
branch主要用于新功能的开发
合并发生在本地working ,只要你不提交就不会影响到repository
合并前一定要先update、commit,保证不会out of day,并将本地的修改保存到repository
branch和trunk并行开发的过程中,要经常同步,将trunk的修改合并到branch,合并时选择"Merge a range of revision"
branch最后合并回trunk时,merge type选择"Reintegrate a branch"
不管是从trunk合并到branch还是最终从branch合并回trunk,在每次合并前最好先update,然后将本地的修改先全部commit,保护好现场,万一合并不理想随时都可以reverthttp://blog.csdn.net/eggcalm/article/details/6606520
http://zhengkun.readthedocs.org/zh_CN/latest/2014/02/07/svn-usage/
5、关于解决冲突
发生冲突之后会出现三个临时文件:
XXX.mine XXX.r1 XXX.r2
一旦解决了冲突,需用svn resolved让subversion知道,这样就会删除这三个临时文件,冲突状态解决。
三种解决方式:
手工合并冲突:需要将冲突标志删除
用某一个临时文件覆盖自己的工作文件
用svn revert 放弃本地修改,不需要执行resolved
❷ svn命令使用方法
在svn
commit后面可以附加参数指定路径的,这个路径你指定为这单个文件就行了
svn
commit
[path...]
使用svn
help
commit查看commit指令的详细帮助
另外如果用tortoisesvn等客户端的话,在这单个文件上点右键,然后选择commit菜单就行了
❸ svn info对应git什么命令
svn命令列举:
svn checkout :从服务器上下载一份新的代码到本地
svn up:在本地代码目录下执行,与服务器上最新代码保持同步
svn status:在本地代码目录下执行,查看当前目录下的本地改动情况,可简写为svn st
svn revert <file-name>:在本地代码目录下执行,撤销对<file-name>文件的改动,恢复到未改动前状态。
svn diff <file_name>:在本地代码目录执行,查看对文件<file-name>的修改。
svn log -l4:查看当前目录下的最新的4条修改历史,可改为-l5,-l6,-l10 (注意是小写的"L")
svn info:查看当前代码版本信息
svn commit:提交修改的代码到服务器;
❹ svn的checkout命令
1、进入想要拉取的本地文件夹目录,点击鼠标右键,选择“SVN Checkout”。
❺ SVN命令行怎么用
SVN Commit
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:%f /notempfile /closeonend
SVN CommitAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:* /notempfile /closeonend
SVN Diff
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:diff /path:%f /notempfile /closeonend
SVN Log
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:log /path:%f /notempfile /closeonend
SVN Update
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:%f /notempfile /closeonend
SVN UpdateAll
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:* /notempfile /closeonend
Source Monitor
D:\SourceMonitor\SourceMonitor /DC++ %f
❻ svn的一些基本的操作!!!
一、将版本库中的资源签出到本地工作区。首先,在本地硬盘中创建一个新的空文件夹,例如e: proj_trunk。右键单击文件夹并选择签出选项,如下图所示:
❼ linux 下如何启动SVN服务。
先转到SVN的安装目录,比如,你安装在/home/svn 下面。然后转到bin目录下,在这里可以看见一个叫svnserve的文件,我们需要用这个来启动SVN服务。
❽ svn服务器备份svnsync命令怎么用
有较多参数命令,可在命令行输入 svnsync help来查看;网上相关实例蛮多,可网络下。
使用svnsync备份很简单,只有四个步骤,在这里和大家简单介绍一下,希望通过本节的学习大家能够掌握使用svnsync命令对SVN库进行备份的方法。
下面是具体的备份步骤:
一、在备份机上创建一个空库:svnadmincreateSMP
二、更改该库的钩子脚本pre-revprop-change(因为svnsync要改这个库的属性,也就是要将源库的属性备份到这个库,所以要启用这个脚本):
cdSMP/hooks;
cppre-revprop-change.tmplpre-revprop-change;
chmod755pre-revprop-change;
vipre-revprop-change;
将该脚本后面的三句注释掉,或者干脆将它弄成一个空文件。
三、初始化,此时还没有备份任何数据:
svnsyncinitfile:///home/backup/svn/svnsync/SMP/http://svntest.subversion.com/repos/SMP
语法是:svnsyncinit{你刚创建的库url}{源库url}
注意本地url是三个斜杠的:///
四、开始备份SVN库:
svnsyncsyncfile:///home/backup/svn/svnsync/SMP
这是就一个个版本进行备份了。我们来看一下SVN库备份过程中可能出现的错误。
附录:
可能的报错一:
,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' ,currentlyheldby'bug1.corp.scmbbs.com:0c424c20-2e3b-0410-bd34-7fdd53c25d02' svnsync:Couldn'
这个时候可能属性被锁了,删掉属性:svnpropdelsvn:sync-lock--revprop-r0file:///home/backup/svn/svnsync/SMP
删除成功后,再试一遍基本就可以了。如果反复操作都是同样错误的话,有可能是你的svn安装的有问题,重新安装一遍就好了,俺就是这样。
可能报错二、
svnsync:REPORTrequestfailedon'http://svn1.subversion.com/repos/Relevance'
svnsync:Therequestedreportisunknown.这是因为你源库的版本太低了,svnsync所需要的函数Report是svn1.4后加入的。没办法,对你的SVN库进行升级后才能备份。