svn 文件状态标记含义
svn status打印五列字符,紧跟一些空格,接着是文件或者目录名。第一列告诉一个文件的状态或它的内容,返回代码解释如下:
A item
C item
D item
M item
R item
-
文件、目录或是符号链
item
预定将要替换版本库中的item
,这意味着这个对象首先要被删除,另外一个同名的对象将要被添加,所有的操作发生在一个修订版本。 X item
-
目录没有版本化,但是与Subversion的外部定义关联,关于外部定义,可以看“外部定义”一节。
? item
-
文件、目录或是符号链
item
不在版本控制之下,你可以通过使用svn status的--quiet
(-q
)参数或父目录的svn:ignore
属性忽略这个问题,关于忽略文件的使用,见“svn: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:ignore
”一节。注意,这个符号只会在使用svn status的参数--no-ignore
时才会出现—否则这个文件会被忽略且不会显示!如果想取消忽略,那么可以如下操作
svn全局忽略
,修改home目录下 .subversion/config文件,取消global-ignroes的注释,或者从列表中去除要忽略的文件类型.默认是# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
如果不去除注释#,那么就是后面的文件都忽略,
如果去除#,并且在后面去除你不希望忽略的文件类型即可取消指定文件的忽略
最近遇到一个需求,就是把一些文件从svn版本库中移除而保留现有文件不变。比如数据库配置文件,每个程序员的本地配置不同,如果一更新提交上去就乱套了。用svn del会从版本库中删除但是文件也被删了, 这样会造成一更新所有人的文件都被删除掉。
用带参数--keep-local可以保留本地副本, 注意别人的副本如果没有更新过也会被删除掉
svn del --keep-local config.php
delete (del, remove, rm): 从版本库中删除文件和目录。
用法: 1、delete PATH...
2、delete URL...
1、每个 PATH 指定的项目会被调度到下次提交时从版本库删除。除非给出
--keep-local 参数,工作副本中没有提交的文件和目录会被立即删除。
如果 PATH 是未版本控制或者已修改的项目,或者包含这些项目,那么仅当
给出 --force 参数时这些项目才会被删除。
2、每个 UR L指定的项目会通过立即提交从版本库中删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~