我的Linux上的本地副本中有一些未版本控制的目录。 svn状态不会列出未版本控制的目录。命令svn status| grep ^?
仅列出版本化目录中的未版本控制文件。列出无版本目录及其中文件的命令是什么?
答案 0 :(得分:1)
svn add
命令将添加未版本控制的文件和文件夹,并列出它们。我们确实希望列出它们,但我们不想添加它们。因此,我们可以在此之后运行svn rm --keep-local
以恢复添加(以及避免丢弃本地修改)。
执行命令
svn add * --force
将列出工作副本中的所有未版本化对象(包括具有svn:ignore
属性的对象)。但是,这也标志着添加所有这些对象。
为什么--force
选项需要described in SVN book:
通常,命令svn add *将跳过任何目录 已经受版本控制。但是,有时您可能想要 在工作副本中添加每个未版本化的对象,包括那些 隐藏得更深。传递--force选项使svn添加recurse 版本化目录
然后,只需恢复这些添加并保留本地修改(注意尾随点):
svn rm --keep-local .
为什么--keep-local
选项需要described in SVN book:
使用--keep-local选项覆盖默认的svn delete 同时删除计划安排的目标文件的行为 版本删除。当你意识到自己这一点时,这很有用 意外地提交了一个你需要保留的文件 你的工作副本周围,但不应该添加 版本控制。
这显然有删除所有添加内容的副作用,包括那些有意添加的内容。
在此之后,您应该拥有一个未受版本控制的文件和文件夹列表,其中包含未经修改的本地副本。