版本控制之svn命令行下检出、提交、更新
来源:互联网 发布:windows.old删了的后果 编辑:程序博客网 时间:2024/05/21 09:04
4 使用命令行模式访问SVN服务器
4.1 检出
①首先进入自己的工作目录,例如:D:\DevWorkSpace\SVNSpace
②运行svn checkout命令,命令格式如下
格式 svn checkout svn://SVN服务器主机地址/具体仓库目录 保存检出内容的目录
举例 svn checkout svn://localhost/ERP MyERP
运行结果 取出版本 0。
③工作副本
运行checkout命令后进入MyERP目录,看到里面什么都没有。真的什么都没有吗?不是的。检出命令会在这一目录下创建一个隐藏目录.svn,用来保存与服务器交互的重要信息,其中包括从服务器端取回的最新版本信息、文件状态、更新时间等。SVN正是以此为依据判断当前目录中文件的状态。所以这个隐藏目录千万不要删除或修改其中的内容——完全无视它的存在吧。如果服务器端保存的文件可以视为一个“正本”,那么每个开发人员检出到本地目录的文件可以视为“副本”,通常称为工作副本。
4.2 提交
①进入D:\DevWorkSpace\SVNSpace\MyERP目录
②创建一个文件test.txt
③执行svn commit命令,运行结果是
D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt
svn: E200009: 提交失败(细节如下):
svn: E200009: “D:\DevWorkSpace\SVNSpace\MyERP\test.txt” 尚未纳入版本控制
说明一个文件必须纳入版本控制才可以提交到服务器端。
④执行svn add命令,将test.txt纳入版本控制
D:\DevWorkSpace\SVNSpace\MyERP>svn add test.txt
A test.txt
⑤再次执行svn commit命令
D:\DevWorkSpace\SVNSpace\MyERP>svn commit test.txt
svn: E205007: 提交失败(细节如下):
svn: E205007: 无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用 –message (-m) 或 –file (-F) 选项
svn: E205007: 没有设置 SVN_EDITOR,VISUAL 或 EDITOR 环境变量,运行时的配置参数中也没有 “editor-cmd” 选项
此时要求附加日志信息
⑥使用-m参数附加日志信息
D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m “My first commit” test.txt
svn: E170001: 提交失败(细节如下):
svn: E170001: 认证失败
原因是没有权限
⑦暂时先开启匿名访问权限
[1]进入对应的版本库目录下的conf目录:D:\DevRepository\Subversion\ERP\conf
[2]打开svnserve.conf
[3]将第19行的# anon-access = read改为anon-access = write,也就是去掉“# ”,将read改为write。注意前面不要留空格,一定要顶格写。
[4]不需要重启SVN服务,甚至命令行窗口都不需要重新打开。
⑧重新执行提交命令
D:\DevWorkSpace\SVNSpace\MyERP>svn commit -m “My first commit” test.txt
正在增加 test.txt
传输文件数据.
提交后的版本为 1。
说明提交成功了。
⑨其实svn commit命令最后可以不指定具体文件,此时表示提交当前工作副本中的所有修改。
4.3 更新
①将服务器端文件检出到一个新的目录,模拟另外一个终端
D:\DevWorkSpace\SVNSpace>svn checkout svn://localhost/ERP TomERP
A TomERP\test.txt
取出版本 1。
②回到MyERP目录,对test.txt文件修改后提交。
③进入TomERP目录
④执行svn update命令
D:\DevWorkSpace\SVNSpace\TomERP>svn update
正在升级 ‘.’:
U test.txt
更新到版本 2。
这样我们就可以在TomERP目录下看到MyERP目录下提交的修改。
⑤思考:更新和检出的相同点和不同点分别是什么?
检出 更新
相同点 从服务器端下载最新内容
不同点1 下载整个项目 下载与本地工作副本不同的内容
不同点2 创建.svn目录,使检出目录成为工作副本 依赖.svn目录
不同点3 只能操作1次 可以操作多次
- 版本控制之svn命令行下检出、提交、更新
- 版本控制之svn在eclipse上检出,提交,更新
- Eclipse中使用SVN插件实现版本控制(连接SVN服务器,checkout检出,commite提交,update更新)
- SVN的检出、提交、更新、回复历史版本
- SVN常用命令(检出、更新、删除、上传提交等)
- SVN常用命令(检出、更新、删除、上传提交等)
- AndroidStudio使用SVN进行代码的检出,更新和提交
- SVN常用命令(检出、更新、删除、上传提交等)
- [版本控制]svn命令行笔记
- svn检出历史版本
- SVN服务器版本更新后Axure共享文件的检出
- svn提交自动检出发布
- 版本控制之Cornerstone Svn简单使用指南(持续更新)
- 版本控制之SVN
- 版本控制之SVN
- 版本控制之SVN
- 版本控制之SVN
- SVN the working copy needs to be upgraded svn 低版本SVN检出代码,高版本SVN提交不了解决方法
- CS/BS的区别
- Java学习笔记.
- 24
- 鸡汤_成功者与平庸者的十大区别
- 递增排序,递减排序,非递减排序,非递增排序
- 版本控制之svn命令行下检出、提交、更新
- 值传递、指针传递、引用传递的区别
- 跳跃表
- thinkphp5 数据库 链接 Connection
- Spring MVC(四)封装表单参数的控制器(AbstractCommandController)
- 修改表和约束(alter语句)
- 使用ViewPager实现广告条自动无限轮播效果
- 编程_STM32 MDK下代码的分段管理
- 随谈·出游策划