我正在使用ORM从CLI生成大量文件.是否有一种简单的方法来运行svn add
目录中的所有文件,这些文件在?
我运行时出现svn status
?
编辑 这些文件存在于目录树中,因此添加*
一个目录将不起作用.
Sto*_*ica 135
这将在指定的目录树下添加所有未知(除了忽略)文件:
svn add --force path/to/dir
Run Code Online (Sandbox Code Playgroud)
这将在当前目录及下面添加所有未知(除了忽略)文件:
svn add --force .
Run Code Online (Sandbox Code Playgroud)
pha*_*zei 68
这些似乎对我来说是最好的.它们也适用于空格,不会重新添加被忽略的文件.我没有看到他们在我看到的任何其他答案中列出.
添加:
svn st | grep ^? | sed 's/? //' | xargs svn add
Run Code Online (Sandbox Code Playgroud)
删除:
svn st | grep ^! | sed 's/! //' | xargs svn rm
Run Code Online (Sandbox Code Playgroud)
编辑:如果要保留被忽略的文件,请不要使用"add*",否则将重新添加被忽略的所有内容.
pro*_*son 29
你可以做一个svn add path/to/dir/*
你会得到关于任何已经在版本控制中的东西的警告,但它会添加一些不是.
svn status | grep "^\?" | awk '{print $2}' | xargs svn add
Run Code Online (Sandbox Code Playgroud)
取自网络上的某个地方,但我已经使用了一段时间,它运作良好.
如果svn add whatever/directory/*
不起作用,你可以用艰难的方式做到:
svn st | grep ^\? | cut -c 2- | xargs svn add
Run Code Online (Sandbox Code Playgroud)