`
zccst
  • 浏览: 3319522 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[svn] linux命令——svn基础-版本管理

 
阅读更多
windows下的svn使用
习惯之后,再使用linux下的svn很不适应。但其实仅需要几十分钟即可掌握。

linux下的svn基本设置
1,最简单的办法就是 svn help

2,svn环境查看及切换
svn info (path)
svn switch https://svn.xx.baidu.com/xx/xx/project_BRANCH

3,删除自己名下别人的svn账号
先用自己的账号登陆系统,再执行下面命令
rm -rf ~/.subversion/auth/svn.*
(也即清除某账号的svn信息)

4,导出干净代码
svn export svn://192.168.1.211/ic3on ic3onex



svn常用命令
一、新建工程阶段:从svn服务器检出代码
svn checkout/co SVNServerUrl .  //注,点(.)表示当前路径
svn co Url -r 5555  //检出指定历史版本

二、项目协作:更新别人提交的代码
svn up


三、向svn服务器提交自己的代码
修改之前,先查看
svn st/stat        其中:M被修改,C冲突,A预加到,K被锁定,G合并
svn log (path)    很有用,可以看到某一个文件的更新历史及更新原因。
svn revert         取消所有的本地编辑

1,对于新增的文件
svn add file
svn add *.php(添加当前目录下所有的php文件)

svn commit -m "at least five characters" failname.php

2,对于修改的文件
svn commit -m "add test file for my test" test.php
-m表示message

3,对于想删除的文件
第一步:svn delete 【简写:svn (del, remove, rm)】
第二步:svn ci -m 'message'

4,清除
svn clean

四、关于冲突的解决
svn diff --help
具体比较一个文件不同版本间变化,可以用下面的命令:
svn diff -r newversion:oldversion  path
例如,svn diff -r 1327:1326 mcsd_svc.php

分支管理及与主干的关系
从主干创建分支后,在分支开发代码一段时间后,打一个标签,然后结项,然后将该分支代码提交到主干。需要注意的是在分支代码打标签后,就不应该再提交新的代码到该分支,否则主干上是没有这些新代码的。

开发时应该向分支提交代码,而不是主干。
https://xx/trunk/oms                  是主干
https://xx/tags/oms/oms_1-0-0-0_PD_BL 是开发时的基线分支1.0.0
https://xx/tags/oms/oms_1-0-2-0_PD_BL 是开发时的基线分支1.0.2
首先,比较分支1.0.0和主干,看到1.0.0基线上的修改是否已经全部同步到主干上。
其次,(如果确认主干和1.0.0完全一样,即主干可以被覆盖),则将1.0.2基线的代码合并到主干上。
再次,以主干为准,为1.0.2打标签(本质是自己为自己打标签),以此作为新基线,并不再更新1.0.2分支的代码。
最后,创建1.0.3分支,并将新修改代码提交到1.0.3上,而1.0.3分支是以1.0.2为基线的。

具体操作参考:http://zccst.iteye.com/blog/1430823

其他
1,加锁/解锁
svn lock -m "lock test file" test.php
unlock


常见错误说明及解决办法

错误提示 错误原因 解决方法
The change log need some words(not null) 提交时没有添加log message 提交时加上log message即可
The log message is a pathname (was -F intended?); use '--force-log' to override log message 与路径名称相同 修改log message
Error file xxx in not allowed in root directory! working copy的根目录下不允许有名为xxx的文件(只能是正整数版本目录) 删除该文件或者移到到版本目录下
directory xxx/ is not allowed in root directory! Only positive integer dirs are allowed!
working copy的根目录下不允许有名为xxx的目录(只能是正整数版本目录) 删除该目录或者移到版本目录下
Too many versions!(less than 10 is permited) 版本目录多于10个,最多不超过10个 删除刚刚创建的版本目录即可。
Too many files: XXX (less than 2000 is allowed). XXX目录下文件的数量超过2000 删除XXX目录下的文件,使其总数降至2000以下
dir APPNAME/dir(size:xxxx) is too large less than xxx 该应用下代码(不包括.svn目录)总大小超过100M,或某个版本总大小超过50M 删除不必要的代码再尝试提交
File XXX is too large!(less than 4M) 单个文件大小超过4M 删除重试
类似Repository UUID '305daf1b-94be-48ee-a4b9-f4bcd36320de' doesn't match expected UUID '44e2f7a2-1b69-4710-974a-b6edef0fdc12' 服务器端仓库被删除重建,客户端对原仓库进行操作导致。 重新checkout出一份代码即可
add vers xxx faild 文件部署失败 内部原因,请联系saesupport@sina.cn。



参考文章:
http://hi.baidu.com/xworld_bd/blog/item/2e3140c1e65566060ff47776.html

如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    svn之——linux下清除svn的用户名和密码.rar

    在Linux环境下,Subversion(简称svn)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件。当我们在Linux系统中频繁使用svn进行操作时,往往需要输入用户名和密码来验证身份。然而,有时我们可能想...

    Linux学习笔记【博文整理系列】

    学习linux的笔记,发到博文了,鉴于文档方便保存和查阅,发出来,免费的哈 ...文档列表: Linux笔记——vim常用操作及扩展补充[手册] ...Linux笔记——SVN命令总结 rpm&yum包管理命令总结 The end wklken

    SVN使用手册之SVN-BOOK

    ### SVN使用手册之SVN-BOOK知识点概览 #### 一、SVN简介与特性 - **SVN(Subversion)定义**:SVN是一种分布式版本控制系统,它可以帮助团队管理和跟踪项目的修改历史。 - **SVN的历史发展**:SVN自2002年起由Ben ...

    linux下svn客户端

    本文将深入探讨Linux下的SVN客户端——SmartSVN,并基于提供的文件信息进行详细解析。 SmartSVN是一款功能强大的图形化Subversion客户端,它提供了一种直观的界面,使得在Linux系统中管理和操作SVN仓库变得简单易行...

    Ubuntu下安装界面化SVN客户端,并可访问windows的SVN Server

    RabbitVCS是一款轻量级且易于使用的SVN和Git客户端,它集成了Nautilus文件管理器,为用户提供了一种直观的图形界面来管理版本控制系统。 首先,确保你正在使用的Ubuntu版本是10.04或更高版本。对于10.04之前的版本...

    服务器安装文件——SVN

    在这个"服务器安装文件——SVN"的压缩包中,很显然包含的是用于在一台机器上搭建SVN服务器所需的所有组件和指南。 1. **SVN服务器安装**:安装SVN服务器通常涉及到以下几个步骤: - 首先,你需要选择一个操作系统...

    详解Linux服务器配置——搭建SVN服务器

    ### 详解Linux服务器配置——搭建SVN服务器 #### 一、引言 随着软件开发项目的日益增多,版本控制成为团队协作不可或缺的一部分。Subversion(SVN)作为一种经典的集中式版本控制系统,在很多场景下仍然有着不可...

    SVN使用指南,win版

    - **下载安装文件**:首先下载TortoiseSVN客户端安装包(例如`TortoiseSVN-1.6.8.19260-win32-svn-1.6.11.msi`)和中文语言包(例如`LanguagePack_1.6.8.19260-win32-zh_CN.msi`)。 - **安装过程**:安装过程中可以...

    开源版本控制SVN 树冲突、目录丢失问题及解决机制探讨

    版本控制系统Subversion(简称SVN)是一种用于管理软件源代码的工具,它允许开发者在不同的时间点保存项目的状态,以便于回溯、合并和协作。当多人同时编辑同一个项目时,可能会出现冲突,特别是对于同一文件或目录...

    svn使用教程

    - **CVS**: 作为最早的版本控制系统之一,虽然功能相对有限,但它奠定了现代版本控制系统的许多基础。 - **VSS**: 微软提供的入门级版本控制系统,虽然在Windows环境中使用较为便捷,但因其功能性问题而逐渐被市场...

    数字IC_FPGA设计100问之——学习路径 - 知乎1

    5. 版本控制工具:使用SVN或Git进行代码管理和协作。 最后,通过项目实践来巩固和提升: 1. 开始设计和验证小型数字IP,如UART、SPI、定时器、AHB-SRAM等。 2. 在FPGA上实现这些设计并实际运行。 3. 探索HW/SW协同...

    linux操作系统下c语言编程入门

    1. **Linux程序设计入门——基础知识** - 源程序编译 - Makefile的编写 - 程序库的链接 - 程序的调试 - 头文件与系统调用 2. **Linux程序设计入门——进程介绍** - 进程的概念 - 进程的创建 - 进程间通信 ...

    Cacti installing for linux

    【Cacti安装指南——Linux环境下的网络与系统监控】 Cacti是一款开源的网络监控工具,它结合了PHP、MySQL、HTTP和SNMP技术,用于实时监控网络设备的性能和状态。本教程将详细解释如何在RHEL AS4系统上安装Cacti。 ...

    svnkit 1.7.5

    标题"svnkit 1.7.5"指的是SVNKit的一个特定版本——1.7.5,这是该库的一个稳定版本,意味着它经过了充分的测试,适合在生产环境中使用。 在描述中提到的"当前最新的稳定版:1.7.5",这表明在发布时,1.7.5是SVNKit...

    svn服务器配置说明

    SVN是一个用于跟踪和管理项目源代码变更的系统,它允许开发者查看历史版本,回滚错误的修改,并协同工作。在配置SVN服务器时,我们通常会涉及以下几个关键步骤: 1. **安装SVN服务器软件**:最常见的SVN服务器软件...

    SVN服务端安装软件

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理和跟踪文件和目录的变更。它允许团队协作,记录每一次修改,便于回滚到任何历史版本,并且提供了多种协作方式。本教程将详细讲解如何安装最新的SVN服务端,...

    SVN中文操作手册(Subversion)

    **SVN中文操作手册——Subversion基础与进阶** Subversion(简称SVN)是一款流行的开源版本控制系统,用于管理软件项目中的源代码和其他文件。它允许团队成员协作开发,跟踪文件的变化,以及恢复旧版本,确保项目的...

    qt-eclipse-integration-linux.x86-1.6.1.tar.gz(qt4.6.1)

    - **版本控制集成**:Eclipse支持多种版本控制系统,如Git、SVN等,可以方便地管理Qt项目的源代码。 - **构建和部署**:通过Eclipse的构建系统,可以轻松编译和部署Qt应用。 总之,通过"qt-eclipse-integration-...

    svn离线安装features和plugins

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的历史变更。在某些情况下,特别是在网络环境不稳定或无网络的环境中,离线安装SVN的features和plugins对于开发人员来说是非常...

Global site tag (gtag.js) - Google Analytics