您当前的位置: 首页 > 

培根芝士

暂无认证

  • 2浏览

    0关注

    446博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SVN常用命令行

培根芝士 发布时间:2015-06-19 17:18:46 ,浏览量:2

1.创建存储库

  假设d:/dev/svnrepo为存放svn存储库的目录

   svnadmin create d:/dev/svnrepo/test  创建一名为test的存储库

2.导入项目

   svn import [Local PATH] [SVN PATH] -m "Initial Import"

  参数:-m 为日志

3.导出项目

   svn export

   svn export -r

-------------------------

4.取出

   svn co(checkout) http://localhost/svn/test/OnlyTest   ---  将OnlyTest文件夹其下的文件取出来并建立默认文件夹OnlyTest

   svn co -r [版本号]   --取出特定版本

   svn co http://localhost/svn/test/OnlyTest MyTest  --将OnlyTest文件夹下的文件取出,放入新建立的文件夹MyTest中

5.添加

  svn add *  --  svn会将未纳入版本控制的文件加入版本控制中(必须svn commit)

  svn add --non-recursive *  非递归添加

6.删除

   svn delete(rm,remove,del)   --删除文件和目录(必须svn commit)

7.提交

   svn commit -m "you log"  --提交

   svn commit --changelist   --提交指定的changelist

8.创建目录

   svn mkdir

   svn mkdir

9.移动文件或目录

   svn move

   svn move

10.输出特定文件或URL的内容

   svn cat -- 输出特定文件或URL的内容

   svn cat -r

------------------------------

11.显示本地或远程某一文件或目录的详细信息

   svn info

   svn info -r

12.列表

   svn list(ls)

   svn list -r

13.当前目录或文件的状态

   svn status

   svn status --show-updates(或-u) 从项目存储库中找出哪些文件有更新

状态:

第一列:指出条目的状态

空  无改动

A  添加

C  冲突

D  删除

G  合并

M  修改

X   无版本记录,被svn:externals使用

?    未用版本控制管理

第二列:属性状态

空  无改动

C  冲突

M  修改

第三列:工作拷贝是否被锁定

空  未锁

 L   锁了

14.清理

   svn cleanup  -- 递归清理工作拷贝

15.帮助

   svn help

   svn help   --显示子命令的帮助,如:svn help add

-----------------------

18.锁定某一目录或文件

   svn propset svn:needs-lock true    --设定需要锁[svn会将其设置为只读,提示用户编辑这个文件前先加锁]

   svn lock

   svn lock --force   --强制对文件加锁,即使此文件已被别人加锁

19.解锁

   svn unlock

   svn unlock --force   --可以解锁其他用户锁定的文件

20.显示特定文件和URL每一行的作者和修订版本信息

   svn blame   -- 每一行文本在开头都放了最后修改的作者(用户名)和修订版本号。

   svn blame -r

21.更新

   svn update ----把版本库的修改带到工作拷贝

   svn update -r  -- 改变到某一个版本

状态:

A  添加   add

D  删除   delete

U  更新   update

C  冲突   conflict

M  合并   merge

22.找不同

   svn diff   --找出工作版本和最后更新的版本中的不同

   svn diff -c   查看文件在修订版本修改的内容,是version和version-1比较

   svn diff -r   察看你的工作拷贝对旧的修订版本的修改

   svn diff -r : 使用范围符号来比较修订版本和

   svn diff -r :

   svn diff --changelist

23.拷贝

   svn copy   -- 其中source和dist既可以是工作目录文件也可以是url

  如:svn copy foo.txt bar.txt

         svn copy near.txt file:///tmp/repos/test/far-away.txt -m "Remote copy."

         svn copy file:///tmp/repos/test/far-away near-here

         svn copy file:///tmp/repos/test/far-away file:///tmp/repos/test/over-there -m "remote copy."

24. 显示提交日志信息

   svn log -r

   svn log -r :

   svn log

   svn log -r {iso8601日期} 

   svn log -r {iso8601日期}:{iso8601日期}

   svn log -v   显示详细的信息(包括每个版本有哪些文件有变动)

   svn log --stop-on-copy  得出分支是什么时候创建的

25.删除工作拷贝文件或目录的“冲突 ”状态(相关的冲突文件文件)

   svn resolved

26.取消所有的本地编辑

   svn revert

   svn revert --recursive  递归

27.解决冲突

   svn resolve --accept

   status:

      base:选择你更新你的工作拷贝前的你checkout出的未经修改的版本

      working:手工处理后,选择当前你工作拷贝中的版本

      mine-full:选择在你svn update前的工作拷贝

      theirs-full:选择svn update取出的文件拷贝

28.将文件放入到一个改变列表中

    svn changelist(cl)

    svn commit --changelist --只提交此change list的文件

29.版本号标识

(1)号  87

(2){日期}  {2009-09-09}

(3)HEAD 存储库中最新版本

(4)BASE   工作拷贝中你最后签出的版本

(5)COMMITED 最后改动版本,等于或早于BASE

(6)PREV  COMMITED之前的一个版本

30.产生和应用补丁

svn diff > file.patch

patch file.patch

31.svn项目组织

    project/

        trunk/    --主干

        branches/   --分支

        tags/  --标签

32.常用示例

(1)提交改动

svn update  --更新到项目的当前状态

# resolve conflicts 解决冲突

  编辑文件

  svn resolved

# run tests 运行测试

svn commit -m "your logs"  --提交

(2)简单bug修正

a.在一个分支中修正bug并提交

b.将其合并到存在此bug的其他分支中(svn merge -r:)

(3)复杂bug修正

a.创建一个bug修正分支(svn copy)  name=bug-trackid

b.为这个修正分支在修正前打标签(svn copy) name=bugpre-trackid

c.修正bug

d.为这个修正在修正后打标签(svn copy) name=bugpost-trackid

e.合并此bug修正到其他分支(svn merge -r bugpre-trackid:bugpost-trackid)

关注
打赏
1660824269
查看更多评论
立即登录/注册

微信扫码登录

0.0412s