解决svn中“工作副本已经锁定”

       刚开始遇到这个问题还以为是没有插网线的原因,客户端和服务器都在我的电脑上,但是更新和提交都执行不了,以为是没有插网线就没把这个小问题放在心上,今早上还是这样,就不得不解决一下了。


更新或者提交前要执行一下清理(clear up),如果在当前目录下执行后,还是锁定,就到上一层目录执行清理,问题就解决啦



                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
前言 1. 什么是 TortoiseSVN? 2. TortoiseSVN 的特性 3. 许可协议 4. 开发 4.1. TortoiseSVN 的历史 4.2. 致谢 5. 阅读指南 6. 本文使用的术语 1. 开始 1.1. 安装 TortoiseSVN 1.1.1. 系统要求 1.1.2. 安装 1.2. 基本概念 1.3. 开始试用 1.3.1. 创建版本库 1.3.2. 导入项目 1.3.3. 检出工作副本 1.3.4. 进行修改 1.3.5. 添加更多的文件 1.3.6. 查看项目历史 1.3.7. 撤消更改 1.4. 继续前进 ... 2. 基本版本控制概念 2.1. 版本库 2.2. 版本模型 2.2.1. 文件共享的问题 2.2.2. 锁定-修改-解锁 方案 2.2.3. 复制-修改-合并 方案 2.2.4. Subversion 怎么做? 2.3. Subversion 实战 2.3.1. 工作副本 2.3.2. 版本库的 URL 2.3.3. 修订版本 2.3.4. 工作副本怎样跟踪版本库 2.4. 摘要 3. 版本库 3.1. 创建版本库 3.1.1. 使用命令行工具创建版本库 3.1.2. 使用 TortoiseSVN 创建版本库 3.1.3. 本地访问版本库 3.1.4. 访问网络共享磁盘上的版本库 3.1.5. 版本库布局 3.2. 版本库备份 3.3. 服务器端钩子脚本 3.4. 检出链接 3.5. 访问版本库 4. 日常使用指南 4.1. 基本特性 4.1.1. 图标重载 4.1.2. 右键菜单 4.1.3. 拖放 4.1.4. 常用快捷方式 4.1.5. 认证 4.1.6. 最大化窗口 4.2. 导入数据到版本库 4.2.1. 导入 4.2.2. 导入适当的位置 4.2.3. 专用文件 4.3. 检出工作副本 4.3.1. 检出深度 4.4. 将你的修改提交到版本库 4.4.1. 提交对话框 4.4.2. 修改列表 4.4.3. 从提交列表排除项目 4.4.4. 提交日志信息 4.4.5. 提交进程 4.5. 用来自别人的修改更新你的工作副本 4.6. 解决冲突 4.6.1. 文件冲突 4.6.2. 属性冲突 4.6.3. 树冲突 4.6.3.1. 本地删除,当更新时有更改进入 4.6.3.2. 本地更改,当更新时有删除进入 4.6.3.3. 本地删除,当更新时有删除进入 4.6.3.4. 本地缺少,当合并时有更改进入 4.6.3.5. 本地更改,当合并时有删除进入 4.6.3.6. 本地删除,当合并时有删除进入 4.6.3.7. 其它树冲突 4.7. 获得状态信息 4.7.1. 图标重载 4.7.2. 详细状态 4.7.3. 在 Windows 资源管理器的 TortoiseSVN 列 4.7.4. 本地与远程状态 4.7.5. 查看差别 4.8. 修改列表 4.9. 版本日志对话框 4.9.1. 调用版本日志对话框 4.9.2. 版本日志动作 4.9.3. 获得更多信息 4.9.4. 获取更多的日志信息 4.9.5. 当前工作副本的版本 4.9.6. 合并跟踪特性 4.9.7. 修改日志消息和作者 4.9.8. 过滤日志信息 4.9.9. 统计信息 4.9.9.1. 统计页 4.9.9.2. 作者提交次数统计页 4.9.9.3. 按日期提交统计页 4.9.10. 离线方式 4.9.11. 刷新视图 4.10. 查看差异 4.10.1. 文件差异 4.10.2. 行结束符和空白选项 4.10.3. 比较文件夹 4.10.4. 使用 TortoiseIDiff 进行比较的图像 4.10.5. Diffing Office Documents 4.10.6. 其他的比较/合并工具 4.11. 添加新文件和目录 4.12. 复制/移动/重命名文件和文件夹 4.13. 忽略文件和目录 4.13.1. 忽略列表的模式匹配 4.14. 删除、移动和改名 4.14.1. 正在删除文件/文件夹 4.14.2. 移动文件和文件夹 4.14.3. 处理文件名称大小写冲突 4.14.4. 修复文件改名 4.14.5. 删除未版本控制的文件 4.15. 撤消更改 4.16. 清理 4.17. 项目设置 4.17.1. Subversion 属性 4.17.1.1. svn:keywords 4.17.1.2. 增加和编辑属性 4.17.1.3. 导出和导入属性 4.17.1.4. 二进制属性 4.17.1.5. 自动属性设置 4.17.2. TortoiseSVN 项目属性 4.17.3. 属性编辑器 4.17.3.1. 外部条目 4.17.3.2. SVN 关键字 4.17.3.3. EOL 样式 4.1
TotoiseSVN的基本使用方法 一、签出源代码到本机 在本机创建文件夹”项目群管理仓库测试”(名称自定义),右键点击Checkout, 弹出如下图的窗体: 在上图URL of Repository:下的文本框输入svn server的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。 说明:上图的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子,我们也可以使用web的方式访问代码库,在浏览器输入http://zt.net.henu.edu.cn/svn/StartKit/ 这时候也会弹出对话框,要求输入用户名和密码(注意save suthenticatidon保存凭证,不保存每次提交,都要输入),通过验证后即可浏览代码库的内容。 搞定!源代码已经成功签出到刚才新建的文件夹”项目群管理仓库测试”目录。 打开文件夹”项目群管理仓库测试”目录,可以看到如下图的文件夹结构: 一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图我修改了其的二个文件: 修改前: 修改后: 我们已经知道怎么从服务器签出代码到本机,也简单了解了不同状态所对应的图案啦。 二、提交修改过的文件到SVN服务器 上面的图,我修改了位于“大供应链”文件的二个文件test1-副本(2)和test1-副本(3),下面演示如何提交到SVN服务器。 注意:提交源代码到服务器时,一定确保本机的项目文件是最新版本,否则可能提交失败,或者造成版本冲突。 在大供应链文件夹上点击右键或在Model文件下的空白处点击右键,点击SVN Commit…弹出下面的窗体: 点击OK按钮后,弹出如下图的窗体: 三、添加新文件到SVN服务器 我们在”项目群管理仓库测试”文件下添加一个新的文件“顾客市场类”,在Model文件下的空白处点击右键,点击SVN Commit,和上面讲的提交修改过的文件到SVN服务器一样,就可以了。 另外也可以在新建文件上点击右键,点击TortoiseSVN=>>Add,弹出如下图的窗体: 选“新建文件夹”,点击OK按钮,这样并没有将这个文件提交到SVN服务器,只是将这个文件标记为源代码库库的文件,并将其状态置为修改状态。之后,我们要再SVN Commit这个文件一次,才可以将其真正提交到SVN服务器上的代码库。 上面讲是添加文件,实际上,添加文件夹的步骤也是一样的,这里就不说了。 四、更新本机代码与SVN服务器上最新的版本一致 这个也很简单,只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击SVN Update,就可以了。 注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。 五、重命名文件或文件夹,并将修改提交到SVN服务器 只要在需要重命名的文件或文件夹上点击右键,点击TortiseSVN=>>Rename…,在弹出的窗体输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用SVN Commit提交到SVN服务器后才真正重命名。 六、删除文件或文件夹,并将修改提交到SVN服务器 最简单就是,你直接删除文件或文件夹,然后使用SVN Commit提交更新到SVN服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>TortoiseSVN=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用SVN Commit提交到SVN服务器后才真正删除。
1. 简介 ....................................................................... 1 1.1. 什么是 TortoiseSVN? ................................................ 1 1.2. TortoiseSVN 的历史 .................................................. 1 1.3. TortoiseSVN 的特性 .................................................. 1 1.4. 安装 TortoiseSVN .................................................... 2 1.4.1. 系统要求 ...................................................... 2 1.4.2. 安装 .......................................................... 2 1.4.3. 语言包 ........................................................ 2 1.4.4. 拼写检查器 .................................................... 3 2. 基本概念 ................................................................... 4 2.1. 版本库 .............................................................. 4 2.2. 版本模型 ............................................................. 4 2.2.1. 文件共享的问题 ................................................ 4 2.2.2. 锁定-修改-解锁 方案 ........................................... 5 2.2.3. 复制-修改-合并 方案 ........................................... 6 2.2.4. Subversion 怎么做? ........................................... 8 2.3. Subversion 实战 ..................................................... 9 2.3.1. 工作副本 ...................................................... 9 2.3.2. 版本库的 URL ................................................. 10 2.3.3. 修订版本 ..................................................... 11 2.3.4. 工作副本怎样跟踪版本库 ....................................... 12 2.4. 摘要 ............................................................... 12 3. 配置服务器 ................................................................ 14 3.1. 基于 Apache 的服务器 ............................................... 14 3.1.1. 简介 ......................................................... 14 3.1.2. 安装 Apache .................................................. 14 3.1.3. 安装 Subversion .............................................. 15 3.1.4. 配置 ......................................................... 15 3.1.5. 多版本库 ..................................................... 17 3.1.6. 路径为基础的授权 ............................................. 18 3.1.7. 使用 Windows 域认证 ......................................... 18 3.1.8. 多重认证源 ................................................... 20 3.1.9. 用 SSL 使服务器更安全 ........................................ 20 3.1.10. Using client certificates with virtual SSL hosts ............ 22 3.2. 基于 svnserve 的服务器 ............................................. 23 3.2.1. 简介 ......................................................... 23 3.2.2. 安装 svnserve ................................................ 23 3.2.3. 运行 svnserve ................................................ 24 3.2.4. Basic Authentication with svnserve ........................... 25 3.2.5. 使用 SASL 以便更安全 ........................................ 26 3.2.6. 使用 svn+ssh 认证 ........................................... 28 3.2.7. svnserve 基于路径的授权 ...................................... 28 4. 版本库 .................................................................... 29 4.1. 创建版本库 .......................................................... 29 4.1.1. 使用命令行工具创建版本库 ..................................... 29 4.1.2. 使用 TortoiseSVN 创建版本库 .................................. 29 4.1.3. 本地访问版本库 ............................................... 30 4.1.4. 访问网络共享磁盘上的版本库 ................................... 30 TortoiseSVN iii 4.1.5. 版本库布局 ................................................... 31 4.2. 版本库备份 .......................................................... 32 4.3. 钩子脚本 ............................................................ 32 4.4. 检出链接 ............................................................ 33 5. 日常使用指南 .............................................................. 34 5.1. 开始 ............................................................... 34 5.1.1. 图标重载 ..................................................... 34 5.1.2. 右键菜单 ..................................................... 34 5.1.3. 拖放 ......................................................... 36 5.1.4. 常用快捷方式 ................................................. 37 5.1.5. 认证 ......................................................... 37 5.1.6. 最大化窗口 ................................................... 38 5.2. 导入数据到版本库 .................................................... 38 5.2.1. 导入 ......................................................... 38 5.2.2. 导入适当的位置 ............................................... 40 5.2.3. 专用文件 ..................................................... 40 5.2.4. 引用的工程 ................................................... 40 5.3. 检出工作副本 ........................................................ 42 5.3.1. 检出深度 ..................................................... 43 5.4. 将你的修改提交到版本库 .............................................. 45 5.4.1. 提交对话框 ................................................... 45 5.4.2. 修改列表 ..................................................... 47 5.4.3. Excluding Items from the Commit List ......................... 47 5.4.4. 提交日志信息 ................................................. 47 5.4.5. 提交进程 ..................................................... 48 5.5. 用来自别人的修改更新你的工作副本 .................................... 49 5.6. 解决冲突 ............................................................ 51 5.7. 获得状态信息 ........................................................ 52 5.7.1. 图标重载 ..................................................... 52 5.7.2. 在 Windows 资源管理器的 TortoiseSVN 列 ..................... 53 5.7.3. 本地与远程状态 ............................................... 54 5.7.4. 查看差别 ..................................................... 55 5.8. 修改列表 ............................................................ 55 5.9. 版本日志对话框 ...................................................... 58 5.9.1. 调用版本日志对话框 ........................................... 58 5.9.2. 版本日志动作 ................................................. 59 5.9.3. 获得更多信息 ................................................. 59 5.9.4. 获取更多的日志信息 ........................................... 62 5.9.5. 合并跟踪特性 ................................................. 62 5.9.6. 修改日志消息和作者 ........................................... 63 5.9.7. 过滤日志信息 ................................................. 64 5.9.8. 统计信息 ..................................................... 64 5.9.9. 离线方式 ..................................................... 66 5.9.10. 刷新视图 .................................................... 67 5.10. 查看差异 ........................................................... 67 5.10.1. 文件差异 .................................................... 67 5.10.2. 行结束符和空白选项 .......................................... 68 5.10.3. 比较文件夹 .................................................. 68 5.10.4. 使用 TortoiseIDiff 进行比较的图像 ........................... 69 5.10.5. 其他的比较/合并工具 ......................................... 70 5.11. 添加新文件和目录 ................................................... 71 5.12. Copying/Moving/Renaming Files and Folders .......................... 72 5.13. 忽略文件和目录 ..................................................... 73 5.13.1. 忽略列表的模式匹配 ........................................ 74 5.14. 删除、移动和改名 ................................................... 75 5.14.1. 正在删除文件/文件夹 ......................................... 75 5.14.2. 移动文件和文件夹 ............................................ 76 5.14.3. 改变文件名称大小写 .......................................... 77 TortoiseSVN iv 5.14.4. 处理文件名称大小写冲突 ...................................... 77 5.14.5. 修复文件改名 ................................................ 77 5.14.6. 删除未版本控制的文件 ........................................ 78 5.15. 撤消更改 ........................................................... 78 5.16. 清理 .............................................................. 79 5.17. 项目设置 ........................................................... 79 5.17.1. Subversion 属性 ............................................. 80 5.17.2. TortoiseSVN 项目属性 ........................................ 84 5.18. 分支/标记 .......................................................... 85 5.18.1. 创建一个分支或标记 .......................................... 86 5.18.2. 检出或者切换 ................................................ 87 5.19. 正在合并 ........................................................... 88 5.19.1. 合并指定版本范围 ............................................ 89 5.19.2. 复兴分支 .................................................... 91 5.19.3. 合并两个不同的目录树 ........................................ 91 5.19.4. 合并选项 .................................................... 92 5.19.5. 预览合并结果 ................................................ 93 5.19.6. 合并跟踪 .................................................... 94 5.19.7. 子合并期间处理冲突 .......................................... 94 5.19.8. Merge a Completed Branch ................................... 95 5.20. 锁 ................................................................ 96 5.20.1. 锁定在Subverion是如何工作的 ............................... 96 5.20.2. 取得锁定 .................................................... 97 5.20.3. 释放锁定 .................................................... 97 5.20.4. 检查锁定状态 ................................................ 98 5.20.5. 让非锁定的文件变成只读 ...................................... 98 5.20.6. 锁定钩子脚本 ................................................ 98 5.21. 创建并应用补丁 ..................................................... 99 5.21.1. 创建一个补丁文件 ............................................ 99 5.21.2. 应用一个补丁文件 ........................................... 100 5.22. 谁修改了哪一行? .................................................. 100 5.22.1. 追溯文件 ................................................... 101 5.22.2. 追溯不同点 ................................................. 103 5.23. 版本库浏览器 ...................................................... 103 5.24. 版本分支图 ........................................................ 105 5.24.1. 版本图节点 ................................................. 106 5.24.2. Changing the View ......................................... 106 5.24.3. 使用图 ..................................................... 107 5.24.4. 刷新视图 ................................................... 107 5.25. 导出一个Subversion工作副本 ........................................ 108 5.25.1. 从版本控制里移除删除工作副本 ............................... 108 5.26. 重新定位工作副本 .................................................. 109 5.27. 与 BUG 跟踪系统/问题跟踪集成 ...................................... 109 5.27.1. Adding Issue Numbers to Log Messages ....................... 110 5.27.2. Getting Information from the Issue Tracker ................. 112 5.28. 与基于 WEB 的版本库浏览器集成 ..................................... 113 5.29. TortoiseSVN的设置 ................................................. 114 5.29.1. 常规设置 ................................................... 114 5.29.2. 图标叠加设置 ............................................... 122 5.29.3. 网络设置 ................................................... 125 5.29.4. 外部程序设置 ............................................... 126 5.29.5. 已保存数据的设置 ........................................... 129 5.29.6. 日志缓存 ................................................... 130 5.29.7. 客户端钩子脚本 ............................................. 132 5.29.8. TortoiseBlame 的设置 ....................................... 136 5.29.9. 注册表设置 ................................................. 136 5.29.10. Subversion 的工作文件夹 ................................... 137 5.30. 最后步骤 .......................................................... 137 TortoiseSVN v 6. SubWCRev 程序 ............................................................ 138 6.1. SubWCRev 命令行 ................................................... 138 6.2. 关键字替换 ......................................................... 138 6.3. 关键字例子 ......................................................... 139 6.4. COM 接口 .......................................................... 140 A. 常见问题(FAQ) ............................................................ 142 B. 如何实现 … .............................................................. 143 B.1. 一次移动或复制多个文件 ............................................. 143 B.2. 强制用户写日志 ..................................................... 143 B.2.1. 服务器端的钩子脚本(Hook-script) ............................. 143 B.2.2. 工程(Project)属性 ........................................... 143 B.3. 从版本库里更新选定的文件到本地 ..................................... 143 B.4. Roll back (Undo) revisions in the repository ...................... 144 B.4.1. 使用版本日志对话框 .......................................... 144 B.4.2. 使用合并对话框 .............................................. 144 B.4.3. 使用 svndumpfilter .......................................... 144 B.5. 比较一个文件的两个版本 ............................................. 145 B.6. 包含一个普通的子项目 ............................................... 145 B.6.1. 使用 svn:externals .......................................... 145 B.6.2. 使用嵌套工作副本 ............................................ 145 B.6.3. 使用相对位置 ................................................ 145 B.7. 创建到版本库的快捷方式 ............................................. 146 B.8. 忽略已经版本控制的文件 ............................................. 146 B.9. 从工作副本删除版本信息 ............................................. 146 B.10. 删除工作副本 ...................................................... 147 C. 对管理员有用的技巧 ....................................................... 148 C.1. 通过组策略部署 TortoiseSVN ......................................... 148 C.2. 重定向升级检查 ..................................................... 148 C.3. 设置 SVN_ASP_DOT_NET_HACK 环境变量 ................................. 149 C.4. 禁用上下文菜单 ..................................................... 149 D. TortoiseSVN 操作 ......................................................... 151 D.1. TortoiseSVN 命令 .................................................. 151 D.2. TortoiseIDiff 命令 ................................................ 154 E. 命令行交叉索引 ........................................................... 155 E.1. 约定和基本规则 ..................................................... 155 E.2. TortoiseSVN 命令 .................................................. 155 E.2.1. 检出 ........................................................ 155 E.2.2. 更新 ........................................................ 155 E.2.3. 更新到版本 .................................................. 155 E.2.4. 提交 ........................................................ 156 E.2.5. 差异 ........................................................ 156 E.2.6. 显示日志 .................................................... 156 E.2.7. 检查所作的修改 .............................................. 157 E.2.8. 版本图 ...................................................... 157 E.2.9. 版本库浏览器 ................................................ 157 E.2.10. 编辑冲突 ................................................... 157 E.2.11. 已解决 ..................................................... 157 E.2.12. 改名 ....................................................... 157 E.2.13. 删除 ....................................................... 157 E.2.14. 恢复 ....................................................... 157 E.2.15. 清理 ....................................................... 158 E.2.16. 获得锁 ..................................................... 158 E.2.17. 释放锁 ..................................................... 158 E.2.18. 分支/标记 .................................................. 158 E.2.19. 切换 ....................................................... 158 E.2.20. 合并 ....................................................... 159 E.2.21. 输出 ....................................................... 159 E.2.22. 重新定位 ................................................... 159 TortoiseSVN vi E.2.23. 在当前位置创建版本库 ....................................... 159 E.2.24. 添加 ....................................................... 159 E.2.25. 导入 ....................................................... 159 E.2.26. 追溯 ....................................................... 159 E.2.27. 加入忽略列表 ............................................... 160 E.2.28. 创建补丁 ................................................... 160 E.2.29. 应用补丁(Apply Patch) ...................................... 160 F. 实现细节 ................................................................. 161 F.1. 图标重载 ........................................................... 161 G. 用 SSH 使服务器更安全 .................................................... 163 G.1. 配置 Linux 服务器 ................................................. 163 G.2. 配置 Windows 服务器 ............................................... 163 G.3. 用于 TortoiseSVN 的 SSH 客户端工具 ................................ 164 G.4. 创建 OpenSSH 证书 ................................................. 164 G.4.1. 使用 ssh-keygen 创建密钥 .................................... 164 G.4.2. 使用 PuTTYgen 创建密钥 ...................................... 164 G.5. 使用 PuTTY 测试 ................................................... 165 G.6. 使用 TortoiseSVN 测试 SSH ......................................... 165 G.7. SSH 配置参数 ...................................................... 166 术语表 ....................................................................... 168 索引 ......................................................................... 171

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值