使用svn进行文件和文件夹的忽略
使用svn进行文件和文件夹的忽略
如何使用svn忽略文件和文件夹
如果你之前尝试过git,你就知道svn的忽略在命令行上有多么繁琐。
我从事android开发,我希望svn可以这样忽略:
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
.idea/libraries
# Keystore files
*.jks
我本以为svn的忽略会很简单,但实际上达到最终的忽略效果花掉了我相当长的时间。所以在这做个记录,将我的经验分享一下。
SVN的ignore属性
svn通过属性来判断如何处理仓库中的文件。其中有一个属性便是svn:ignore。你可以使用 svn propset 来设置svn:ignore在单独的目录。你可以给svn:ignore设置一个值,文件名或者是表达式。
例如:
svn propset svn:ignore *.class .
这时你使用svn status命令,就看不到。class文件了。如果你也想查看忽略的文件,你可以输入:
svn status --no-ignore
忽略文件夹
忽略文件夹,千万不要加斜杠。
svn propset svn:ignore bin . # yes
svn propset svn:ignore /bin . # nope
svn propset svn:ignore bin/ . # nope
使用 —R 递归属性配置
使用上面的方法只能忽略当前目录,如果你想要自己的子文件夹也进行忽略 要使用-R惊醒操作。
svn propset svn:ignore -R *.class .
忽略多种类型的文件
通过以下的命令你可以忽略 *.class,*.apk, and Thumbs.db
svn propset svn:ignore -R *.class .
svn propset svn:ignore -R *.apk .
svn propset svn:ignore -R Thumbs.db .
或者,你可以这样:
svn propset svn:ignore -R "*.class
> *.apk
> Thumbs.db" .
使用-F通过配置文件来忽略
如android的,eclipse工程中需要忽略一些文件。
于是新建一个文本文档.svnignore并在其中写入:
build
bin
gen
proguard
.classpath
.project
local.properties
Thumbs.db
*.apk
*.ap_
*.class
*.dex
然后执行:
svn propset svn:ignore -R -F .svnignore .
全局忽略完成。
注意事项
进行上述步骤之后,每个文件夹内的bin,gen等目录都会被忽略。所以起名字的时候不要起和忽略的名字相同的文件。
对忽略进行查看,删除
查看全部
svn status --no-ignore
查看指定目录
svn proplist -v [PATH]
删除忽略
svn status --no-ignore
额你以为到这里就结束了?
svn还有坑。。。
当你使用add的时候,千万不要使用
svn add *
这样会把忽略中的文件也添加到仓库。应该使用下面的命令行代替
svn add --force .
注意是点,千万别写成*
如果在忽略之前,文件应经被add,应先删除
svn delete [path]
只从svn中忽略,而不删除文件
svn delete --keep-local [path]
svn add后的数据如何 恢复/取消/还原
有时候你发现svn add后,这个提交的数据又不需要了。这时候需要有svn revert来处理了。
比如
A testcase/perday.php
如何取消呢?
svn revert testcase/perday.php
会出现下面的提示:
已恢复“testcase/perday.php”
说明脚本已经恢复了到原来的状态,不受SVN 版本控制了。
如何恢复整个目录??有时候你将整个目录都svn add了,整个目录有不同深度的文件夹,这时候你需要用其他方式来解决
svn revert --depth=infinity .
参考资料:
http://stackoverflow.com/questions/116074/how-do-i-ignore-a-directory-with-svn
http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
https://www.coder4.com/archives/4244
使用svn进行文件和文件夹的忽略的更多相关文章
- Eclipse Svn 取消某些文件或文件夹的版本控制
SVN提交时,我们有时候需要将一些文件忽略掉,例如:maven项目中的target文件夹,可以将这些文件或文件夹设置成ignore来忽略这些文件或文件夹 1. 将文件夹或文件从Eclipse中删除.记 ...
- svn设置提交忽略某些文件或文件夹
在svn客户端,想设置忽略提交.class文件,通过 properties > New > Other 添加一个忽略的属性,,还是不行:部分屏蔽了,部分class还是在列表中 再次参考了一 ...
- 如何彻底删除SVN中的文件和文件夹(附恢复方法)
在SVN中如果删除某个文件或文件夹也可以在历史记录中进行找回,有的时候需要彻底删除某些文件,即不希望通过历史记录进行恢复,需要在服务器上对SVN的数据进行重新整理 这里假设SVN项目的目录为 /dat ...
- Linux命令行下svn ignore忽略文件或文件夹用法
一.忽略单个目录 1.忽略文件夹 假如目录oa.youxi.com是从svn checkout出来的,在服务器本地目录添加了material,但是不希望把material加入版本控制,因此我们需要忽略 ...
- 设置SVN忽略文件和文件夹(文件夹)
在多数项目中你总会有文件和文件夹不须要进行版本号控制.这可能包含一些由编译器生成的文件,*.obj,*.lst,也许是一个用于存放可运行程序的输出文件夹.仅仅要你提交改动,TortoiseSVN 就会 ...
- SVN同步时忽略特定文件或文件夹
在MyEclipse中使用SVN同步的时候,经常会提示一些比如.classpath等不需要同步的配置文件,可以通过设置来忽略这一部分的文件或者文件夹. 1.选择菜单Window→Preferences ...
- eclipse svn不能忽略文件及文件夹,ignore设置无效 ?
https://blog.csdn.net/zengmingen/article/details/79025445 https://blog.csdn.net/zengmingen/article/d ...
- 如何将指定文件或文件夹直接提交到svn指定目录
以下步骤适用于客户端是Tortoisesvn 服务端是VisualSVN Server的SVN库: 安装Tortoisesvn 获取配置库路径 checkout想要提交到的SVN库或目录 将需要提交 ...
- 【SVN】命令行忽略不必要的文件和文件夹
SVN命令参考: https://www.cnblogs.com/wlsxmhz/p/5775393.html 我们需要明白命令行设置忽略文件和文件夹是通过设置svn:ignore属性设置的,pr ...
随机推荐
- Jmeter5.1.1+python调用python脚本
1.下载jython https://www.jython.org/downloads.html 下载Download Jython 2.7.0 - Standalone Jar : For embe ...
- Hive 特殊日期获取 tips
获取当前日期 SELECT CURRENT_DATE, CURRENT_TIMESTAMP, from_unixtime(unix_timestamp()); 上个月1号 concat(substr( ...
- 基于SSM的CRUD项目的详解
创一个maven工程 创建web的目录和web.xml------------右击项目,build projet--->configure project---->Project fac ...
- MySql数据库时区异常,java.sql.SQLException: The server time zone value '?й???׼ʱ?' is unrecognized or represents more than one time zone.
JDBC访问MySql异常 Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException ...
- leetcode数据库题目及答案汇总
1. 第二高的薪水 select ifnull((select distinct Salary from Employee order by Salary desc limit 1,1),null) ...
- nginx 的安装、启动、停止与重启
一.nginx 基本介绍 1.Nginx 是单进程单线程模型,也就是启动的工作进程只有一个线程响应客户端请求,而 apache 可以在一个进程内启动多个线程响应客户端请求.所以 nginx 的内存占用 ...
- Linux 下安装 tomcat
前提:已经安装配置好了 JDK 1.下载二进制文件 wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.19/bin/apache ...
- SHA-256算法和区块链原理初探
组内技术分享的内容,目前网上相关资料很多,但读起来都不太合自己的习惯,于是自己整理并编写一篇简洁并便于(自己)理解和分享的文章. 因为之前对密码学没有专门研究,自己的体会或理解会特别标注为" ...
- nodejs 开启http服务器
1.首先安装node.js windows地址:https://nodejs.org/dist/v10.15.3/node-v10.15.3-x64.msi 配置成功的标志: 若没成功,也有可能是没有 ...
- 【c# 数据库】对数据库进行增删查改
1.DataGridView链接数据库 2.链接数据库 using System.Data.SqlClient; SqlConnection con = null; //创建SqlConnection ...