关键词不能为空

当前您在: 主页 > 英语 >

SVN使用和SVN常用命令

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-07 10:15
tags:

-

2021年2月7日发(作者:中共中央组织部)


Svnserve



d



r



路径 名


+


文件名



Svn://IP


SVN


使用和


SVN


常用命令



之前比较少接触


linux


,今天参考网上的资料实践了一下如 何建立


svn


仓库,包括简单的授


权设 置。




假设要建立一个


svn


项目:


new_project



一、创建


svn

仓库




去到

svn


服务的根目录,



这个目录 是在启动


svn


服务的时候指定的,


启 动的命令如:


svnserve


-d -r /usr/lo cal/svnrepos


)执行创建仓库命令:




svnadmin create new_project



这样在


/usr/local/svnrepos/


里面就多了一个


new_project


目录出 来,


进入


new_project/conf/






vi



将下面几行的注释去掉



[general]


anon-access = read #


匿名的用户可读



auth_access = write #


有授权的用户可写



password-db = passwd #


表示


svn


用户的授权资料保存在


passwd


文件里面




在< /p>


conf/


目录里面


vi passwd


,添加授权资料。格式如下:




[user]


your_name = your_password




二、导入源码



(导入源码的过程不一 定要按照下面说的来做,


关于


svn


目 录管理其实可以很灵活,


适合自


己就行)




现在先准备一个临时文件夹,用来构建仓库中的基本目录结构:




mkdir temp


mkdir temp/trunk


mkdir temp/tags


mkdir temp/branches



这时可以将


temp


目录导入的仓库中:




svn import temp svn://localhost/new_project -m 'initial'



如果


new_project


已经开发到一定程度,我们只需要将源码导入到仓库中的


trunk< /p>


就行了。




假设源码的根目录是


~/new_project



进入


~


目录 ,把源码导入到


trunk


中:




svn import new_project svn://localhost/new_project/trunk -m 'initial again'




======== ================================================== ============


=========


< p>
1


、将文件


checkout

到本地目录




svn checkout path



path


是服务器上的目录)




例如:


svn checkout svn://192.168.1.1/pro/domain



简写:


svn co



2


、往版本库中添加新的文件






svn add file



例如:


svn add (


添加


)



svn add *.php(


添加当前目录下所有的


php


文件


)



3


、将改动的文件提交到版本库






svn


commit


-m



LogMessage




[-N]


[



no-unlock]


PA


TH(


如果选择了保持锁,就使用–


no-unlock


开关


)



例如:


svn commit -m



add test file for my test






简写:


svn ci



4


、加锁


/


解锁






svn lock -


m “LockMessage“ [–


force] PATH



例如:


svn lock -m



lock test file






svn unlock PATH



5


、更新到某个版本






svn update -r m path



例如:




svn update


如果后面没有目录,

默认将当前目录以及子目录下的所有文件都更新到最新版本。




svn update -r 200 (

< br>将版本库中的文件



还原到版本


2 00)



svn update (


更新,


于版本库同步。如果在提交的时候提示过期的话,


是因为 冲突,



要先


update

< p>
,修改文件,然后清除


svn resolved


,最后再提交


commit)



简写:


svn up



6


、查看文件或者目录状态






1



svn status path


(目录下的文件和子目录的状态,正常状态不显示)





?


:不在


svn


的控制中;


M

< br>:内容被修改;


C


:发生冲突;


A


:预定加入到版本库;


K


:被


锁定】




2



svn status -v path(


显示文件和子目录状态


)



第一列保持相同,


第二列显示工作版本号,

第三和第四列显示最后一次修改的版本号和修改


人。




注:


svn status



svn diff




svn revert< /p>


这三条命令在没有网络的情况下也可以执行的,


原因是

< p>
svn


在本地的


.svn


中保留了本地版本的原始拷贝。




简写:


svn st



7


、删除文件






svn delete path -m


“delete test fle“




例如:


svn delete svn://192.168.1.1/pro/domain/ -m



delete test file





或者直接


svn delete


然后再


svn ci -m



delete test file


‘,推荐使用这种




简写:


svn (del, remove, rm)



8


、查看日志






svn log path



例如:


svn log


显示这个文件的所有修改记录,及其版本号的变化




9


、查看文件详细信息






svn info path



例如:


svn info



10


、比较差异






svn diff path(


将修改的文件与基础版本比较


)



例如:


svn diff



svn diff -r m:n path(


对版本


m


和版本


n


比较差异


)



例如:


svn diff -r 200:201



简写:


svn di



11


、将两个版本之间的差异合并到 当前文件






svn merge -r m:n path



例如:


svn merge -r 200:205


(将版本


200


与< /p>


205


之间的差异合并到当前文件,


但是 一


般都会产生冲突,需要处理一下)




12



SVN


帮助






svn help



svn help ci



——————————————————————————




以上是常用命令,下面写几个不经常用的




——————————————————————————




13


、版本库下的文件和目录列表






svn list path



显示


path


目录下的所有属于版本库的文件和目录




简写:


svn ls



14


、创建纳入版本控制下的新目录




svn mkdir:


创建纳入版本控制下的新目录。




用法


: 1



mkdir PATH


?




2



mkdir URL


?




创建版本控制的目录。




1


、每一个以工作副本



PATH


指定的目录,都会创建在本地端,并且加入新增




调度,以待下一次的提交。




2


、每个以


URL


指定的目录,都会透过立即提交于仓库中创建。




在这两个情况下,所有的中间目录都必须事先存在。




15


、恢复本地修改




svn revert:


恢复原始未改变的工作副本文件



(< /p>


恢复大部份的本地修改


)



revert:



用法


: revert PATH


?




注意


:


本子命令不会存取网络,并且 会解除冲突的状况。但是它不会恢复




被删除的目录



16


、代码库


URL


变更




svn switch (sw):


更新工作副本至不同的


URL


< p>



用法


: 1



switch URL [PATH]



2



switch



relocate FROM TO [PATH


?


]


< br>1


、更新你的工作副本,映射到一个新的


URL


,其行为跟“


svn update


”很像,也会将




服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的




方法。




2


、改写工作副本的


URL


元数据,以反映单纯的


URL

< br>上的改变。当仓库的根


URL


变动




(


比如方案名或是主机名称变动


)


,但是工作副本仍旧对映到同一仓库的同一目录时使用




这个命令更新工作副本与仓库的对应关系。




17


、解决冲突




svn resolved:


移除工作副本的目录或文件的“冲突”状态。




用法


: resolved PATH


?




注意


:


本子命令不会依语法来解决冲 突或是移除冲突标记;它只是移除冲突的




相关文件,然后让



PATH


可以再次提交。



< br>18


、输出指定文件或


URL


的 内容。




svn cat


目标


[@


版本


]


?如果指定了版本,将从指定的版本开始查找。




svn cat -r PREV filename > filename (PREV


是上一版本


,


也可以写具体版本号


,


这样输出结果

< br>是可以提交的


)







CSDN





< p>








/wssxy/arc hive/2009/05/27/







CSDN













/an gelflying928/archive/2010/01/15/










svn


常用命令整理








2009-06-12


作者:狂风



来源:狂风的


blog







svn


命令



通常都有帮助


,


可通过如下方式查询:




$$ svn help




知道了子命令,但是不知道子命令的用法,还可以查询:




$$ svn help add




开发人员常用命令




(1)


导入项目




$$ cd ~/project$$ mkdir -p svntest/{trunk,branches,tags}



$$ svn import svntest https://localhost/test/svntest --message



...



$$ rm -rf svntest



我们新建一个项目


svntest


,在该项目下新建三个子目 录:


trunk


,开发主干;


bran ches


,开发


分支;


tags


,开发阶段性标签。然后导入到版本库


test


下,然后把


svntest


拿掉。




(2)


导出项目




$$ svn checkout https://localhost/test/svntest/trunk


< /p>


修订版本号的指定方式是每个开发人员必须了解的,以下是几个参考例子,说明可参考


svn


推荐书。




$$ svn diff --revision PREV:COMMITTED foo.c



# shows the last change committed to foo.c



$$ svn log --revision HEAD



# shows log message for the latest repository commit



$$ svn diff --revision HEAD

-


-


-


-


-


-


-


-



本文更新与2021-02-07 10:15,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/607949.html

SVN使用和SVN常用命令的相关文章