`
aben328
  • 浏览: 1450701 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

转载 SVN在linux下的使用笔记收藏 转贴:http://blog.csdn.net/nhczp/archive/2007/08/20/1751561.as

    博客分类:
  • SVN
阅读更多

转载  SVN在linux下的使用笔记收藏

<script type="text/javascript"> document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text = clipboardData.getData(&quot;text&quot;); if (text &amp;&amp; text.length&gt;300) { text = text + &quot;\r\n\n本文来自CSDN博客,转载请标明出处:&quot; + location.href; clipboardData.setData(&quot;text&quot;, text); } }, 100); } } </script><script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&amp;u='+escape(d.location.href)+'&amp;c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>转贴:http://blog.csdn.net/nhczp/archive/2007/08/20/1751561.aspx

SVN是CVS的下一个版本,主要用来进行版本控制,可以对程序代码,音频,视频以及图像文件等,做版本控制。

目录以及文件是Subversion中可以记录版本的对象。其主要工作原理如下图:
                   _ _ _ _ _ _ _ _ _ _
                  /                              \
                  |                               |
                  |      项目仓库            |
                  |                               |
                  \_ _ _ _ _ _ _ _ _ _/
                        /                  |
                       /     check in |
     check out /                     |
_ _ _ _ _ _ /_ _               _|_ _ _ _ _ _ _                   
/                         \             /                        \
|                          |            |                         |
|      工作拷贝       |            |        工作拷贝    |
|                          |            |                         |
\_ _ _ _ _ _ _   _/             \_ _ _ _ _ _ _ _/

分支,主干,合并,标签
创建一个分支或者标签时,采用一种"延迟拷贝"的技术,即只创建指向同一版本的链接,当其中某个文件有所改动时,再去复制那个文件或者目录。
一般地来讲,分支是用来做准备发布的,而不是并行开发。

1、创建一个项目仓库
svnadmin create /home/huzza/test_svn

2、import初始文件到项目仓库中
svn import -m source_file_path URL
本例 URL:file:///home/huzza/test_svn/sesame/trunk
file:// ------&gt; 告诉svn是本地目录

3、checkout文件到本地目录
svn checkout(co) file:///home/huzza/test_svn/sesame/trunk sesame

4、检查文件状态或者日至
svn status [文件/目录]
svn log [文件/目录]
svn log -r6:8 [文件/目录]     查看版本6到版本8之间的日志

5、文件/目录比较(工作拷贝与项目创库中的比较)
svn diff [文件/目录]     或者      svn diff --rHEAD [文件/目录]     --rHEAD:表示最新版本

6、更新本地工作拷贝,提交工作修改
svn update(up) [文件/目录]       svn checkin(in) -m"comments" [文件/目录]
update时的一些文件标志:
     U ------ 表示文件被更新
     G ------ 表示项目创库中的文件和本地工作拷贝的文件合并到了一起
     C ------ 表示合并时,有冲突产生
     A ------ 新加入了一个文件
     D ------ 删除了一个文件
     ? ------ 表示该文件或者目录没有被svn管理
     M ------ 该文件被修改

7、 冲突。当svn update时,如果存在某个文件存在冲突,打开冲突的文 件,&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; 和 &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; 表明了冲突发生的地方。
当冲突发生时,如果想使用项目仓库中的版本,而放弃本地拷贝的修改,可以使用以下命令:
a、svn revert [冲突的文件/目录]
b、svn update [冲突的文件/目录]
(svn resolved [文件/目录] &amp;&amp; svn updata [文件/目录],似乎也是ok的,需要confirm一下)
如果想保留本地工作拷贝的修改,而放弃项目仓库中版本的修改,可以如下:
a、cp 文件/目录.mine 文件/目录
b、svn resolved 文件/目录
c、svn ci -m "use my version please" 文件/目录
(在上面的三个步骤中,似乎不用做步骤a也可以达到目的)

8、使svn项目仓库联网
启动svn服务器:svnserve --daemon --root /home/huzza/test_svn
列服务器资源:svn list svn://192.168.0.4/sesame/trunk
出来后面的URL不同,其他操作的各部分均相同
svn+ssh 访问:svn list svn+ssh://192.168.0.4/sesame/trunk        (需要在服务器上支持ssh访问)

9、得到特定版本的工作拷贝
svn checkout -rVersionNum list svn://192.168.0.4/sesame/trunk butterfly
svn info butterfly     (查看当前版本拷贝的状态)

10、拷贝/移动文件
svn copy filename newfile
svn move oldfile newfile
svn ci -m "add or move some files" [修改文件所在的目录]      (这里确保服务器上也作跟本地拷贝相同的动作)

11、版本的符号
HEAD --------- 项目仓库中的最新版本
BASE --------- 工作拷贝的基准版本(也就是checkout出来时的版本)
COMMITTED ---- 最后一次checkin的版本
PREV --------- COMMITTED之前的一个版本

12、查找版本之间的差异
svn diff -r2:4 [文件/目录]
svn diff &gt; diffname.patch (生成patch文件)
使用patch文件: patch -p0 -i diffname.patch

13、删除后一个版本对前一个版本的修改
svn merge -r27:26 [文件/目录] &amp;&amp; svn ci -m "undo the work of version 27"
撤销版本27所做的修改

14、创建分支/标签
svn mkdir -m "Create branches" svn://192.168.0.4/sesame/branches
svn copy -m "Create release branches for version 1.0" svn://192.168.0.4/sesame/trunk \
                                                         svn://192.168.0.4/sesame/branches/release-1.0

分享到:
评论

相关推荐

    L2jOpenSource:项目 SVN:https://svn.code.sf.net/p/l2jopensource/projects/-开源

    项目 SVN : https://svn.code.sf.net/p/l2jopensource/projects/ Interlude aCis 382 (最新稳定版) https://svn.code.sf.net/p/l2jopensource/projects/Interlude/L2J_aCis/ aCis_382_LATEST_STABLE/ aCis 389(最新...

    Android 连接MQL 等关系型数据库

    Android MQL 关系型 数据库相关项目,由于原链接:http://download.csdn.net/source/3344919 是在公司上传的,已经被加密,所以旧链接已经失效,请下载此链接下相应项目(经已解密),有疑问,请联系:qq:343827585。...

    [14本经典Android开发教程]-5-linux Android基础知识总结

    [14本经典Android开发...7. linux下svn使用指南 8. LFS 相关 9. linux 内核的初步理解 -------------------------------------------------------- 已上传4本: [14本经典Android开发教程]-1-Android开发从入门到精通 ...

    中标麒麟离线搭建svn教程.rar

    所需文件包和教程目录完全一致 subversion-1.8.18.tar.gz 下载地址:http://subversion.apache.org ...zlib-1.2.11.tar.gz 下载地址:http://linux.softpedia.com/get/Programming/Libraries/zlib-159.shtml

    Tiano Edk for loongson

    本项目的目的是把EFI/UEFI移植到Loongson... SVN : svn co https://efi-mips.svn.sourceforge.net/svnroot/efi-mips efi-mips 编译方法及移植日志请见Documents目录 2009-6-13 张涛 MSN: kontais@gmail.com

    apt-cgy cgywin安装软件

    apt-cyg使用bash编写,所以连编译都省了。 安装apt-cyg wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg chmod +x apt-cyg mv apt-cyg /usr/local/bin/ 安装包 apt-cyg install bc 查找包 apt-cyg find ...

    yasm-1.3.0.tar.gz

    Download (HTTP): http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz Download MD5 sum: fc9e586751ff789b34b1f21d572d96af Download size: 1.5 MB Estimated disk space required: 27 MB ...

    sharpsvn docs

    sharpsvn api documents

    FFmpeg win64

    XAVS svn-r55 &lt;http://xavs.sourceforge.net/&gt; Xvid 1.3.4 &lt;http://xvid.org/&gt; z.lib 2.0.4 &lt;https://github.com/sekrit-twc/zimg&gt; XZ Utils 5.2.2 &lt;http://tukaani.org/xz&gt; zlib 1.2.8 &lt;http://zlib.net/&gt; ...

    ffmpeg-2.5.2-win64-shared.7z

    XAVS svn-r55 &lt;http://xavs.sourceforge.net/&gt; Xvid 1.3.3 &lt;http://xvid.org/&gt; XZ Utils 5.2.0 &lt;http://tukaani.org/xz&gt; zlib 1.2.8 &lt;http://zlib.net/&gt; The source code for this FFmpeg build can be found ...

    ffmpeg-2.5.2-win64-dev.7z

    XAVS svn-r55 &lt;http://xavs.sourceforge.net/&gt; Xvid 1.3.3 &lt;http://xvid.org/&gt; XZ Utils 5.2.0 &lt;http://tukaani.org/xz&gt; zlib 1.2.8 &lt;http://zlib.net/&gt; The source code for this FFmpeg build can be found ...

    运维管理发布系统.zip

    11: 命令审计模块需要在各个salt-minion端安装agent.py,该文件位于项目下tools文件夹中,在salt-master运行 master.py接受来自agent.py的数据。,master.py需要配置数据库连接信息。直接编辑文件添加即可. git clone...

    SVN客户端使用简要教程

    1、 安装SVN-Client端程序。 下载地址:https://218.107.242.90:9374/svn/jnzl/tools/svn-client.msi 注:输入您的帐号和密码,即可进行登录下载。 2、 安装后,创建一个新目录,在新目录下点击右键,在弹出的菜单中...

    Spark: spark/trunk part002 第二部分

    Spark: svn co http://svn.igniterealtime.org/svn/repos/spark/trunk spark 辛辛苦苦从SVN上下载下来的SOURCE Spark 2.6.3 Spark: spark/trunk part002 第二部分

    SVN安装和采用http或https访问

    svn的安装,使用http访问svn资源库,使用https访问svn资源库

    VisualSVN Server增加网页密码修改功能

    Visual SVN增加网页个人SVN密码修改功能。操作方法见http://blog.csdn.net/hzfw2008/article/details/75549006

    开源的驰骋asp.net工作流程引擎

    产品名称: 驰骋asp.net工作流程引擎. 英文名称: chicheng workflow engine 简 称: ccflow 版 本: 4.5 开发历史: 2003-2011年. 性 质: 开源软件 许可协议: LGPL. URL: http://www.gnu.org/licenses/lgpl.html 官方...

    Android游戏引擎源代码并带有编辑器和示例Demo及参考手册

    可以直接下载使用,方便那些没有安装 SVN的同学或者还没用过版本控制得同学使用! 最新的版本需要通过SVN可以在下面的地址中Check Out Lib9-J2me版本:http://code.google.com/p/j2me-lib9/ Lib9-Android版本:...

    CollabNetSubversion-server-1.7.2-1-Win32.exe [服务器端+客户端]

    安装包内增加了 svn-python2.7 C:\Program Files\CollabNet\Subversion Server&gt;svnserve --version svnserve, version 1.7.2 (r1207936) compiled Nov 29 2011, 22:11:27 C:\Program Files\CollabNet\Subversion ...

    svn1.6.16.21511

    首先下载英文版安装后,再安装汉化包,然后setting设置语言为“中文(简体)”应用、确定 汉化就完成了。 Subversion 1.6.16 下载地址: http://subversion.tigris.org/downloads/subversion-1.6.16.tar.bz2 ...

Global site tag (gtag.js) - Google Analytics