svn命令使用常见问题

1.如何添加文件 ?

  svn add filename

  svn ci -m "add file"

2. svn ci 出现冲突

  经常多人开发时难免多个人修改同一个文件导致冲突发送,或者在merge的时候也会出现,出现冲突时,svn up 出现

  elect: (p) postpone, (df) diff-full, (e) edit,  //(p) 推迟,(df) 显示全部差异,(e) 编辑,

(mc) mine-conflict, (tc) theirs-conflict,   //(mc) 我的版本, (tc) 他人的版本,

(s) show all options:                            //(s) 显示全部选项:

  一般选择p,会将冲突文件下载到你本地来处理,可以在本地看到test.txt(文件合并版本) test.txt.mine(我修改的版本) test.txt.r21(其他人修改前的版本) test.txt.r22(其他人修改的版本)这么几个文件,叫上其他人一起来修改test.txt合并版本,修改完成了删除删 除<<<<<<< .mine、=======和>>>>>>> .r22。再输入:

  svn resolve --accept working test.txt (该命令会删除test.txt.mine  test.txt.r21  test.txt.r22)

  svn ci -m ’some comment’ a.txt

3. 版本合并,正常情况一个项目可能会有多个分支,当分支需要合并的时候该如何做?

  eg:假设分支1要合并到主干,本地切换到分支1的文件目录,svn merge other_svn_url,你也可以指定要合并的分支版本svn merge other_svn_url -r22:HEAD ,出现冲突如2步骤解决。

  最后记得,svn ci -m "xxx"

4. svn delete不小心删错了文件如何恢复

  1) 第一种情况的svn delete filename了但是还没有commit(svn ci),那么可以使用 svn revert filename

  2)如果已经commit了,那么可以通过创建新的分支来恢复,首先svn log --verbose --stop-on-copy svn_repo_url查看版本记录,使用svn cp [email protected] des_url -m "xx"创建新的分支,eg:假设当前r8是包含没有删除文件的版本号,

  svn cp http://www.svnrepo.com/project/branche1/@8 http://www.svnrepo.com/project/branche2 -m "xxx"(branche1为之前svn url地址目录,别少了/,不然在新的分支文件结构是branche2/branche1,@8是版本号),然后在svn co http://www.svnrepo.com/project/branche2,就可以找回删除的文件

  3)如果使用工具的请转这里

5. svn diff 详解

  $ svn diff -r 2:3 rules.txt
  (1)Index: rules.txt
  (2)===================================================================
  (3)--- rules.txt (revision 2)
  (4)+++ rules.txt (revision 3)
  (5)@@ -1,4 +1,4 @@
  (6)Be kind to others
  (7)-Freedom = Chocolate Ice Cream
  (8)+Freedom = Responsibility
  (9)Everything in moderation
  (10)Chew with your mouth open

  第一行,显示文件
  第二行,分隔符
  第三行,老版本用“-”表示
  第四行,新版本用“+”表示
  第五行,老版本显示1~4行,新版本显示1~4行
  第六行,两个版本都有
  第七行,只有老版本有
  第八行,只有新版本有
  第九行,两个版本都有
  第十行,两个版本都有
  ==================

$ 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# compares your working file (with local mods) to the latest version# in the repository.

$ svn diff --revision BASE:HEAD foo.c# compares your “pristine” foo.c (no local mods) with the # latest version in the repository

$ svn log --revision BASE:HEAD# shows all commit logs since you last updated

$ svn update --revision PREV foo.c# rewinds the last change on foo.c.# (foo.c‘s working revision is decreased.)
时间: 2024-10-31 21:16:12

svn命令使用常见问题的相关文章

svn 命令

转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 5.常用svn命令  5.1 获取当前最新修订版本号  svnlook youngest /home/svn/repos   5.2 将服务器上代码目录同步到本地目录  svn checkout svn://192.168.1.100/repos/media /svn --username zhangsan --password 123    #不指定同步到本地目录(/svn)默认是当前目录,

svn命令

SVN 常用命令一览表 命令 功能 使用格式 checkout 检出 svn  co  URL up 更新到当前URL的末端 svn  up   switch 更新到某一tag/branch svn  switch  (tag/分支)URL add 增加 svn  add  文件名   rm 删除文件 svn  rm 文件名 删除目录 svn  rm 目录名 diff 与base版本(最后检出或者更新到的版本)对比 svn  diff 与版本库中最新版本对比 svn  diff  -r  hea

svn 命令行下常用的几个命令

svn 命令行下常用的几个命令 下载网址: https://www.visualsvn.com/downloads/ 下载直接安装即可. 1.将文件checkout到本地目录   svn checkout path(path是服务器上的目录)    例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件     svn add file   例如:svn add test.php(添加test.php) svn a

linux下svn命令大全

linux下svn命令大全 1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "LogMessage

Linux下常用SVN命令

1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain  --username qinxiaohui 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "L

Ubuntu使用之Svn命令小技巧

注: [svn Path]:是指要取代码分支的服务器绝对路径 [Path]:是指终端相对当前目录的相对路径,如果是在当前目录下,就省略路径 ①.取svn服务器的代码: svn co [svn Path] ②.查看当前目录的svn状态: svn st ③.查看某个目录的svn状态: svn st [Path]dirName ④.查看某文件在svn上的修改记录: svn log [Path]fileName ⑤.查看某文件/目录在svn上的最近n次修改记录(n必须是大于0的整数): svn log

svn命令在linux下的使用

兄弟连Linux培训-基础教程:svn命令在linux下的使用   1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn c

[MAC] Mac下的SVN命令行

转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout url(url是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn

【Linux工具】svn 命令行使用实例

引言 网上有这么多介绍 svn 使用的文章,为什么还要写?因为它们深入不浅出,平铺不分类,理论不实际,看完也记不住. 本文先介绍基本用法,后进行实例演练.不求大而全,只求熟练常用,自行用 svn help 举一反三(比如 -r 参数很多命令都有).如果你有环境(别忘了还有服务器),不妨花十分钟跟着实例走一遍. 简介一下 svn:一种流行的版本管理工具.基于一个 svn 服务器,开发人员用各自的电脑安装 svn 客户端后,就可以实现代码托管.版本管理.协作开发等功能.Windows 上的 svn