SVN 命令行的使用
大多数时候我们用TortoiseSVN作为客户端,其实SVN提供了强大的客户端命令行工具,和Git差不不多。
1. 查看工作副本修改的整体状况。
- $ svn status
- ? scratch.c
- A stuff/loot
- A stuff/loot/new.c
- D stuff/old.c
- M bar.c
- $
?表示没有加入版本控制,A,D,M分别表示增加,删除,修改。
svn status 支持选项 --verbose (-v), 带上该选项后, 命令会输出当前目录中每一项的 状态, 即使是未被修改的项目:
- $ svn status -v
- M 44 23 sally README
- 44 30 sally INSTALL
- M 44 20 harry bar.c
- 44 18 ira stuff
- 44 35 harry stuff/trout.c
- D 44 19 ira stuff/fish.c
- 44 21 sally stuff/things
- A 0 ? ? stuff/things/bloo.h
- 44 36 harry stuff/things/gloo.c
可以给 svn status 带上选项 --show-updates (-u), 这样 Subversion 就会和仓库通信, 输出工作副本中已过时的项目:
- $ svn status -u -v
- M * 44 23 sally README
- M 44 20 harry bar.c
- * 44 35 harry stuff/trout.c
- D 44 19 ira stuff/fish.c
- A 0 ? ? stuff/things/bloo.h
- Status against revision: 46
Status against revision: 46*表示远程仓库的文件已经发生修改,如果合并会可能发生冲突。
2. 撤销工作副本的修改
- $ svn revert 2.txt
- 已恢复“2.txt”
svn revert 提供了一个很好的补救机会, 否则的话, 用户就得花费大量的时间, 自己一点一点地手工撤消修改, 又或 者采用一个更麻烦的做法, 直接删除工作副本, 然后重新从服务器上检出一个 干净的工作副本.
3. 解决冲突
3.1 手动解决冲突
首先看一下发生冲突后的文件内容:
- $ cat sandwich.txt
- Top piece of bread
- Mayonnaise
- Lettuce
- Tomato
- Provolone
- <<<<<<< .mine
- Salami
- Mortadella
- Prosciutto
- =======
- Sauerkraut
- Grilled Chicken
- >>>>>>> .r2
- Creole Mustard
- Bottom piece of bread
分别由小于号, 等号和大于号组成的行是冲突标记, 它们不是冲突数据 的一部分, 用户通常只需要确保在提交前把它们都删除掉即可. 前两个标记之 间的文本是用户的本地修改.
- <<<<<<< .mine
- Salami
- Mortadella
- Prosciutto
- =======
后两个标记之间的内容是别人提交的修改:
- =======
- Sauerkraut
- Grilled Chicken
- >>>>>>> .r2
这里去掉别人提交的内容
- Top piece of bread
- Mayonnaise
- Lettuce
- Tomato
- Provolone
- Salami
- Mortadella
- Prosciutto
- Creole Mustard
- Bottom piece of bread
使用命令 svn resolve 移除文件的冲突状态后, 接下来就可以提交修改了:
- $ svn resolve --accept working sandwich.txt
- Resolved conflicted state of 'sandwich.txt'
- $ svn commit -m "Go ahead and use my sandwich, discarding Sally's edits."
--accept=working 告诉 Subversion 把文件的当前内容作为冲突解决后的状态,svn resolve 会删除目录下的三个临时文件, 将用户指定的 文件版本作为冲突解决后的最终版。
3.2 全丢弃自己的修改
- svn resolve --accept theirs-full CONFLICTED-PATH
3.3 丢弃当前的所有修改
- $ svn revert filename
SVN 命令行的使用的更多相关文章
- Mac SVN 命令行
Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout path(p ...
- svn命令行修改已提交的版本备注
svn命令行修改已提交的版本备注 参考文章: stackoverflow.com/questions/304383/how-do-i-edit-a-log-message-that-i-already ...
- [MAC] Mac下的SVN命令行
转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.1 ...
- 转:svn命令行操作
原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420115218821912/SVN命令行 -- ::| 分类: CVS |字号 ...
- Windows下SVN命令行工具使用详解
根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...
- Linux环境SVN命令行使用经验总结(转)
在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...
- svn命令行批量删除和批量添加
svn命令行批量删除和批量添加 如果使用svn的命令行,例如在linux下的终端中使用,svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了 ...
- SVN命令行笔记
SVN命令行笔记 近期玩了一下命令行,记录如下. svn info <path> #查看文件,路径信息 svn log <path> #查看文件,路径历史记录 svn st(s ...
- pycharm不支持svn,是需要svn命令行工具没有安装(for windows)
1. 安装svn命令行工具 Subversion for Windows下载https://sourceforge.net/projects/win32svn/?source=typ_redirect ...
- SVN学习之svn命令行下的基本操作
http://huihai.iteye.com/blog/1985751 上一节已经把svn安装完成,下来就用命令行做一些简单的操作. 1.当svn安装完成后,svn管理人员会在svn的root根目录 ...
随机推荐
- ActiveX学习笔记二 ActiveX在IE中安全级别问题-实现IObjectSafety接口
http://blog.csdn.net/freedomqx/article/details/4955512 使用MFC开发ActiveX控件,在IE中会提示安全问题,这个可以通过实现IObjectS ...
- http://blog.csdn.net/wzzvictory/article/details/16994913
原文地址:http://blog.csdn.net/wzzvictory/article/details/16994913 一.什么是instancetype instancetype是cla ...
- arcgis pro行列转换
行转列 列转行
- [web前端] 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
原文地址: https://www.jianshu.com/p/6327d4280e3b 最近几年,前端技术迅猛发展,差不多每年都会冒出一款主流的框架. 每次新开业务线或启动新项目时,首先第一件事就是 ...
- 序列化与反序列化的单例模式实现和readResolve()【转】
如: public class SingleTest implements Serializable{private static final long serialVersionUID = -860 ...
- JavaScript之Date日期对象扩展
各种时间加减 收藏起来以备后用 //名称:日期加法函数 //参数:part(year.month.day.hour.minute.second.millisecond) //返回:Date对象 Dat ...
- array2json() - Convert PHP arrays to JSON
array2json is a PHP function that will convert the array given as its argument into a JSON string. T ...
- fiddler抓包参数乱码的解决方法
解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 4.右键新建,选字符串 ...
- CSS之定位,relative/absolute/fixed的用法
其实position的值有四个,static/relative/absolute/fixed,而static是默认值,不算具有有定位属性,这里就不讲了. 定位其实就是跟元素设置定位属性,然后设置其对位 ...
- 关于tomcat不同版本的maxPostSize
tomcat7.0.63之前: maxPostSize The maximum size in bytes of the POST which will be handled by the conta ...