我是颠覆新手。我已经创建了一个存储库,我想进行第一次提交。
有些文件和文件夹不应签入,例如cache/
或log/
。我使用过svn propset svn:ignore -F svn_ignore.txt
。
我希望有一种简单的方法将新文件添加到svn。有没有办法在尊重svn:ignore设置的同时做到这一点?以下命令添加每个文件,甚至是忽略的文件:
svn add --force .
alias svn_add_all='svn st|grep ^?|sed s/?//|xargs svn add $1'
编辑这是我得到的:
$ svn status
? web/images/test/film_super8.jpg
? web/images/test/ea_dl_manager.jpg
? web/images/test/minecraft_anaglyph.png
$ svn propget svn:ignore
cache/*
log/*
web/images/blog/*
web/images/test/*
答案 0 :(得分:3)
模式严格适用于该目录 - 它们不携带 递归到子目录。
因此,您必须在所有目录上应用模式,或者仅在需要忽略的目录上应用模式。
因此模式不应该包含像你这样的目录。 web/images/blog/*
无效。
您应该转到blog
文件夹并将svn:ignore
设置为*
某些客户端具有“递归应用”功能,可以为您执行此操作。我不知道你是否可以用“默认”客户端做到这一点
但在你的情况下,它将毫无用处。当必须在任何地方忽略特定文件或模式时(例如Visual Studio项目的*.suo
文件),可以使用它。
答案 1 :(得分:2)
svn status
不应显示被忽略的文件
但问题可能在于您忽略文件的方式:请参阅“Command Line svn:ignore a file”
你没有
svn:ignore
一个文件。您在目录上放置
svn:ignore
属性以忽略该文件名模式!
# Add just the single file to the current directories ignore list (like above)
# Note the dot at the end of the command is important
svn propset svn:ignore secret.txt .
# See that things worked
svn propget svn:ignore . # Notice the single file was added to the list
svn status --no-ignore # You should see an 'I' next to the ignored files