SVN文件状态标记含义

svn status可以查看修改文件的状态,返回的代码状态解释如下:

A item

      文件、目录或是符号链item预定加入到本地库
C item

      文件item发生冲突,在从服务器更新时与本地版本发生交迭,在你提交到版本库前,必须手工地解决冲突。
D item

      文件、目录或是符号链item预定从版本库中删除。
M item

      文件item的内容被修改了。
R item

      文件、目录或是符号链item预定将要替换版本库中的item,这意味着这个对象首先要被删除,另外一个同名的对象将要被添加,所有的操作发生在一个修订版本。
X item

      目录没有版本化,但是与Subversion的外部定义关联。
? item
      文件、目录或是符号链item不在版本控制之下,你可以通过使用svn status的--quiet(-q)参数或父目录的svn:ignore属性忽略这个问题。可以直接用svn commit file --no-ignore来强制提交
! item
      文件、目录或是符号链item在版本控制之下,但是已经丢失或者不完整,这可能因为使用非Subversion命令删除造成的,如果是一个目录,有可能是检出或是更新时的中断造成的,使用svn update可以重新从版本库获得文件或者目录,也可以使用svn revert file恢复原来的文件。
~ item
      文件、目录或是符号链item在版本库已经存在,但你的工作拷贝中的是另一个。举一个例子,你删除了一个版本库的文件,       新建了一个在原来的位置,而且整个过程中没有使用svn delete或是svn add。
I item
      文件、目录或是符号链item不在版本控制下,Subversion已经配置好了会在svn add、svn import和svn status命令忽略这个文件。注意,这个符号只会在使用svn status的参数--no-ignore时才会出现—否则这个文件会被忽略且不会显示


svn全局忽略
修改home目录下 .subversion/config文件,取消global-ignroes的注释,或者从列表中去除要忽略的文件类型。

如果想取消忽略,那么可以如下操作:

默认是# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store

如果不去除注释#,那么就是后面的文件都忽略,

如果去除#,并且在后面去除你不希望忽略的文件类型即可取消指定文件的忽略。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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 AnkhSVN 概述4 2 背景知识5 2.1 什么是 AnkSVN? 5 2.2 什么是版本库浏览器?5 2.3 什么是工作拷贝浏览器?6 2.4 什么是未提交更改视图(the Pending Changes view)7 2.4.1 什么是本地文件更改视图(Local File Changes view) 8 2.4.2 什么是问题视图(the Issues view)8 2.4.3 什么是最近修改视图?9 2.4.4 什么是冲突合并视图 10 3 开始使用 AnkhSvn10 3.1 安装 AnkhSVN 10 3.2 在 VisualStudio 中启用 AnkhSvn 10 3.3 将项目连接到 AnkhSVN 11 3.4 增加解决方案到版本库 12 3.5 浏览版本库13 3.6 增加工作拷贝到工作拷贝浏览器 14 4 版本控制操作14 4.1 签出解决方案14 4.1.1 从 Subversion 打开解决方案 15 4.1.2 从版本库浏览器中签出 15 4.2 更新你的工作拷贝16 4.3 在 Pending Changes 中执行 Subversion 操作 16 4.4 提交修改17 4.4.1 提交你的修改 17 4.4.2 签入一个新项 18 4.5 获得和释放锁18 4.5.1 锁定一个项19 4.5.2 释放锁19 4.6 修改取消20 4.7 回滚一个项到特定的版本 20 4.8 查找什么人对其中的一行进行了修改 21 4.9 分支、标记和合并22 4.9.1 创建一个分支或者标记 22 4.9.2 切换到分支23 4.9.3 合并更改24 4.10 比较不同25 4.11 查看版本历史27 4.12 创建和应用补丁(patches) 28 4.12.1 创建一个补丁 28 4.12.2 应用补丁29 4.13 将项增加到更改列表中 29 4.14 增加一个 Subversion 属性 30 4.15 清理工作拷贝31 4.16 集成 issue tracker32 4.16.1 连接到 issue tracker32 4.16.2 将问题关联到一个 Commit 32 4.16.3 当提交提交时更新问题的状态 33 4.16.4 在查看历史时打开一个问题 33 4.17 配置和外部工具34 附件 1、AnkhSVN 图标样例表 35 附件 2、Overview of CollabNet Merge Client 36 附件 3、Creating and Applying Patches 47 附件 4、Changelists 50 1 AnkhSVN 概述 AnkhSVN 为 VisualStudio 提供的一个 Subversion 源码控制插件。通过该 IDE 工具,你 可以在 VisualStudio 中直接进行大部分版本控制操作。 你可以在 AnkhSVN project on .下载 AnkhSvn 的 Release 版本以及日常开 发版。
使用Subversion进行版本控制针对 Subversion 1.4(根据r2866编译) 参照网页版 http://svndoc.iusesvn.com/svnbook/1.4/制作而成。 目录 前言 序言 读者 怎样阅读本书 本书约定 排版习惯 图标 本书的结构 本书是免费的 致谢 来自 Ben Collins-Sussman 来自 Brian W. Fitzpatrick 来自 C. Michael Pilato Subversion是什么? Subversion的历史 Subversion的特性 Subversion的架构 Subversion的组件 1. 基本概念 版本库 版本模型 文件共享的问题 锁定-修改-解锁 方案 拷贝-修改-合并 方案 Subversion实践 Subversion版本库URL 工作拷贝 修订版本 工作拷贝怎样跟踪版本库 混合修订版本的工作拷贝 更新和提交是分开的 混合修订版本很常见 混合版本很有用 混合版本有限制 总结 2. 基本使用 求助! 导入数据到你的版本库 svn import 推荐的版本库布局 初始化检出 禁用密码缓存 用其它身份认证 基本的工作周期 更新你的工作拷贝 修改你的工作拷贝 检查你的修改 查看你的修改概况 检查你的本地修改的详情 取消本地修改 解决冲突(合并别人的修改) 手工合并冲突 复制文件到你的工作文件 脚注:使用svn revert 提交你的修改 检验历史 产生历史修改列表 检查历史修改的详情 比较本地修改 比较工作拷贝和版本库 比较版本库与版本库 浏览版本库 svn cat svn list 获得旧的版本库快照 有时你只需要清理 总结 3. 高级主题 版本清单 修订版本关键字 版本日期 属性 为什么需要属性? 操作属性 属性和 Subversion 工作流程 自动设置属性 文件移植性 文件内容类型 文件的可执行性 行结束字符串 忽略未版本控制的条目 关键字替换 锁定 创建锁定 发现锁定 解除和偷窃锁定 锁定交流 外部定义 Peg和实施修订版本 网络模型 请求和响应 客户端凭证缓存 4. 分支与合并 什么是分支? 使用分支 创建分支 在分支上工作 分支背后的关键概念 在分支间复制修改 复制特定的修改 合并背后的关键概念 合并的最佳实践 手工跟踪合并 预览合并 合并冲突 关注还是忽视祖先 合并和移动 常见用例 合并分支到另一分支 取消修改 找回删除的项目 常用分支模式 发布分支 特性分支 使用分支 标签 建立简单标签 建立复杂标签 分支维护 版本库布局 数据的生命周期 供方分支 常规的供方分支管理过程 svn_load_dirs.pl 总结 5. 版本库管理 Subversion 版本库的定义 版本库开发策略 规划你的版本库结构 决定在哪里与如何部署你的版本库 选择数据存储格式 Berkeley DB FSFS 创建和配置你的版本库 创建版本库 实现版本库钩子 Berkeley DB 配置 版本库维护 管理员的工具箱 svnadmin svnlook svndumpfilter svnsync Berkeley DB 工具 修正提交消息 管理磁盘空间 Subversion如何节约磁盘空间 删除终止的事务 删除不使用的Berkeley DB日志文件 Berkeley DB 恢复 版本库数据的移植 过滤版本库历史 版本库复制 版本库备份 总结 6. 服务配置 概述 选择一个服务器配置 svnserve服务器 svnserve使用SSH通道 Apache 的 HTTP 服务器 推荐 svnserve,一个自定义的服务器 调用服务器 svnserve作为守护进程 使用svnserve通过inetd 通过通道使用svnserve svnserve作为Windows服务 内置的认证和授权 创建一个用户文件和认证域 设置访问控制 SSH 隧道 SSH 配置技巧 初始设置 控制调用的命令 httpd,Apache的HTTP服务器 先决条件 基本的 Apache 配置 认证选项 基本HTTP认证 SSL 证书管理 授权选项 整体访问控制 每目录访问控制 禁用基于路径的检查 额外的糖果 版本库浏览 Apache 日志 其它特性 基于路径的授权 支持多种版本库访问方法 7. 定制你的Subversion体验 运行配置区 配置区布局 配置和Windows注册表 配置选项 服务器 配置 本地化 理解地区 Subversion对区域设置的支持 使用外置比较工具 外置 diff 外置 diff3 8. 嵌入Subversion 分层的库设计 版本库层 版本库访问层 客户端层 进入工作拷贝的管理区 条目文件 原始拷贝和属性文件 使用API Apache可移植运行库 URL 和路径需求 使用 C 和 C++ 以外的语言 代码样例 9. Subversion 完全参考 Subversion 命令行客户端:svn svn选项 svn子命令 svnadmin svnadmin选项 svnadmin子命令 svnlook svnlook选项 svnlook子命令 svnsync svnsync选项 svnsync子命令 svnserve svnserve选项 svnversion mod_dav_svn Subversion属性 版本控制的属性 未版本控制的属性 版本库钩子 A. Subversion 快速入门指南 安装 Subversion 快速指南 B. CVS用户的Subversion指南 版本号现在不同了 目录的版本 更多离线操作 区分状态和更新 状态 更新 分支和标签 元数据属性 解决冲突 二进制文件和行结束标记转换 版本化的模块 认证 迁移CVS版本库到Subversion C. WebDAV和自动版本 什么是WebDAV ? 自动版本化 客户端交互性 独立的 WebDAV 应用程序 Microsoft Office,Dreamweaver,Photoshop Cadaver,DAV 浏览器 文件浏览器 WebDAV 扩展 Microsoft Web 文件夹 Nautilus,Konqueror WebDAV文件系统实现 WebDrive,NetDrive Mac OS X Linux davfs2 D. 第三方工具 E. Copyright 索引 插图清单 1. Subversion的架构 1.1. 一个典型的客户/服务器系统 1.2. 需要避免的问题 1.3. 锁定-修改-解锁 方案 1.4. 拷贝-修改-合并 方案 1.5. 拷贝-修改-合并 方案(续) 1.6. 版本库的文件系统 1.7. 版本库 4.1. 分支与开发 4.2. 开始规划版本库 4.3. 版本库与复制 4.4. 一个文件的分支历史 8.1. 二维的文件和目录 8.2. 版本时间—第三维! 表格清单 1.1. 版本库访问URL 5.1. 版本库数据存储对照表 6.1. Subversion服务器选项比较 C.1. 常用WebDAV客户端 范例清单 5.1. txn-info.sh(报告异常事务) 5.2. 镜像版本库的 pre-revprop-change 钩子 5.3. 镜像版本库的 start-commit 钩子 6.1. 匿名访问的配置实例。 6.2. 一个认证访问的配置实例。 6.3. 一个混合认证/匿名访问的配置实例。 6.4. 禁用所有的路径检查 7.1. 注册表条目(.reg)样本文件。 7.2. diffwrap.sh 7.3. diffwrap.bat 7.4. diff3wrap.sh 7.5. diff3wrap.bat 8.1. 使用版本库层 8.2. 使用 Python 处理版本库层 8.3. 一个Python状态爬虫

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值