码迷,mamicode.com
首页 > 其他好文 > 详细

SVN 使用的简单整理

时间:2015-08-19 16:34:54      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:

1. 在SVN服务器上创建存储Dir,并和个人主机建立联系。
 
   现在SVN服务器上创建一个存储文件夹svn_storeDir.然后在个人电脑上建立一个本地文件夹local_Dir.
   进入到local_Dir文件夹下,使用svn软件的checkOut功能,将svn_storeDir的内容检出到本地文件夹下。就
   可以让本地和SVN服务器建立联系了。
可以使用如下的命令:
svn checkout svn://192.168.0.252/Release  ./
 
 
2. 每天开始工作之前,需要先更新本地文件到最新的版本。需要使用SVN的update功能。
可以使用如下命令:
svn update
 
 
3. 在本地文件夹下添加文件后,就可以使用SVN的commit功能,实时提交备份了。
svn add ssDir
svn commit -m "I add a dir to localDir"  ssDir //有些版本的svn提交是必须要添加日志的
svn commit -m "I add a dir to localDir" 
以后,如果你修改了 之前提交过的一个文件或者多个文件,直接提交即可
svn commit -m "I edit some files for a  new function"
 
4. 在本地文件夹下删除文件。
svn rm ssDir
svn commit -m "I delete a dir to localDir" 
 
 
5. 查看所有日志 
svn log
svn log -r 5:19    # shows logs 5 through 19 in chronological order
svn log -r 19:5    # shows logs 5 through 19 in reverse order
svn log -r 8       # shows log for revision 8
svn log -r {2015-07-31}:{2015-06-01}      #指定日期查看 svn 日志,且将新日志显示在前面    
更新到 0xxx版本
svn update -r 0xxx 
 
6.导出文件: 使用该命令是不会拷贝 .svn 的
svn export [-r REV] URL[@PEGREV] [PATH]
svn export -r 68217 svn://192.168.0.252/CCDT2010/Firmware/demo2  ./
svn export -r 68217 svn://192.168.0.252/CCDT2010/Firmware/demo1.txt  ./demo1_68217.txt
 
7.  svn 代码回滚命令,取消对代码的修改分为两种情况:

第一种情况:改动没有被提交(commit)。
这种情况下,使用svn revert就能取消之前的修改。
svn revert用法如下:
# svn revert [-R] something
其中something可以是(目录或文件的)相对路径也可以是绝对路径。
当something为单个文件时,直接svn revert something就行了;当something为目录时,需要加上参数-R(Recursive,递归),否则只会将something这个目录的改动。
在这种情况下也可以使用svn update命令来取消对之前的修改,但不建议使用。因为svn update会去连接仓库服务器,耗费时间。
注意:svn revert本身有固有的危险,因为它的目的是放弃未提交的修改。一旦你选择了恢复,Subversion没有方法找回未提交的修改。
 
如果你要还原多个文件或者多级子目录下的问题,可以直接使用如下命令:
svn  revert   */**/*                           
 
第二种情况:改动已经被提交(commit)。
这种情况下,用svn merge命令来进行回滚。 
   回滚的操作过程如下: 
   1> 保证我们拿到的是最新代码: 
     svn update 
     假设最新版本号是28。 
   2> 然后找出要回滚的确切版本号: 
     svn log [something]
     假设根据svn log日志查出要回滚的版本号是25,此处的something可以是文件、目录或整个项目
     如果想要更详细的了解情况,可以使用svn diff -r 28:25 [something]
   3> 回滚到版本号25:
       svn merge -r 28:25 something
     为了保险起见,再次确认回滚的结果:
       svn diff [something]
     发现正确无误,提交。
   4> 提交回滚:
     svn commit -m "Revert revision from r28 to r25,because of ..." 
     提交后版本变成了29。
   将以上操作总结为三条如下:
   a>  svn update,svn log,找到最新版本(latest revision)
   b> 找到自己想要回滚的版本号(rollbak revision)
   c>  用svn merge来回滚: svn merge -r : something
 
8. 为代码建立分支
  如果想在代码中增加一个功能强大的函数,但暂时不想提交到主仓库上,害怕影响到别人的工作。那么可以给主仓库代码 建立一个分支,然后将分支 下载到本地,就可以修改了。
  等测试确认OK后,再提交到 主仓库中。
  svn cp -m "creat vbase_branch"  svn://172.16.0.26/trunk/Vbase  svn://172.16.0.26/wangwj/workDir/branch/vbase_branch
  svn checkout  svn://172.16.0.26/wangwj/workDir/branch/vbase_branch ./
 
9.其他常用的svn 常用的命令:
svn list svn://192.168.0.252/CCDT2010/Firmware/Tuner/Release/v25/T221_V25.01.01.0002
svn delete svn://192.168.0.252/CCDT2010/Firmware/Tuner/Release/v25/T221_V25.01.01.0002/x
svn diff -r id1:id2 fileName

SVN 使用的简单整理

标签:

原文地址:http://www.cnblogs.com/jyfyonghu/p/4742270.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!