SVN ignore like.gitinore
在中,如果我有一个项目,里面有很多项目,让我们假设,有很多Java项目,我可以在根目录中创建一个SVN ignore like.gitinore,svn,svnignore,Svn,Svnignore,在中,如果我有一个项目,里面有很多项目,让我们假设,有很多Java项目,我可以在根目录中创建一个.gitignore文件,它将在整个存储库中“得到尊重” 如何为SVN项目执行此操作 例如,如何(通过cmd行)为.gitignore设置“svn ignore”,如下所示 *.class *.jar *.war *.ear target/ .classpath .settings/ .project .metadata bin/ 问题中最重要的部分是:如何使它在根目录中的新文件夹中工作?例如: 我
.gitignore
文件,它将在整个存储库中“得到尊重”
如何为SVN项目执行此操作
例如,如何(通过cmd行)为.gitignore
设置“svn ignore”,如下所示
*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
问题中最重要的部分是:如何使它在根目录中的新文件夹中工作?例如:
我运行了svn propset svn:ignore“*.class”-R
在我的根目录中并提交。好:
root
- folder1/
-- *.class (ignored)
-- other files (ok)
- folder2/
-- *.class (ignored)
-- other files (ok)
现在,我创建文件夹3。以前的
svn:ignore
设置将不适用,对吗?有办法做到这一点吗?您可以使用svn:ignore
。您通常需要告诉SVN对文件应用特殊属性:
svn propset svn:ignore "*.jpg" .
(注意命令末尾的点。)
对于多个文件,可以添加换行符
键入与此处完全相同的换行符:
svn propset svn:ignore "file1
file2
file3" dir1
检查文件是否被忽略:
svn status --no-ignore
然后提交代码
是的,许多重复的问题已经存在
你可以参考我最喜欢的
您可以创建一个文件,svn ignore.txt
,其中包含被忽略的文件和目录:
*.class
*.jar
*.war
*.ear
target/
.classpath
.settings/
.project
.metadata
bin/
现在,请尝试以下操作:
svn propset svn:ignore -RF /root/svn-ignore.txt . [dot for current dir]
-R
用于递归。我用稍微不同的方法解决了这个问题。这只有在使用bashshell并安装了Perl的情况下才起作用,但这几乎适用于所有Mac和Linux机器
将以下内容添加到.bashrc
和.bash\u配置文件中
文件:
alias _ss="svn status | egrep -v '`cat .svnignore|perl -p -e 's/\n/|/'`'"
不要忘记重新启动终端或执行以下操作:
source ~/.bashrc
(or .bash_profile if that's what you used)
现在创建一个名为.svnignore的文件,并将其放在签出存储库的目录中
files/to/ignore
another/file
tmp
node_modules
现在当你跑的时候
_ss
在工作副本的根目录中,它将读取.svnignore文件并忽略其中的任何内容
我对.svnignore文件的版本设置与对.gitnogore文件的版本设置相同
注意:这只影响svn status命令,不会阻止您添加/提交忽略的文件。这就是我模拟
.svnignore
所做的
为svn
创建名为~/bin/svn
#/bin/bash
案件“$1”
提交|状态|应用忽略)
如果测试-f.svnignore;然后
echo“Apply.svnignore:$(/usr/bin/svn propset svn:ignore-F.svnignore.)”
fi
;;
以撒
案件“$1”
应用(忽略);;
*)exec/usr/bin/svn“$@”;;
以撒
然后将~/bin
添加到/usr/bin
之前的路径中
PATH=~/bin:$PATH;导出路径
它在
commit
和status
命令上应用.svnignore
,也可以使用svn apply ignore
手动应用可能重复的多层目录,例如app/code/core
递归参数“-R”应处理来自备忘单的任何深度的目录:编辑目录的忽略:$svn propedit svn:ignore your_dir_name
svn propset svn:ignore修改哪个文件?我需要知道,因为我想实际签入:1)这是否意味着需要在每次提交时设置忽略文件,或者只设置一次,这将从现在起应用于工作流?2) 如何撤销对文件的忽略?没有必要进行此类黑客攻击,因为有一种正确的方法可以做到这一点。@dimir也许你想用同样的方法使用git和svn。例如,GitHub还有一个svn网桥。