在Windows上使用TortoiseSVN,如何从存储库中删除已在文件系统上删除的文件?我希望它们在我的下次提交时显示为“缺失”或“删除”,但情况似乎并非如此。
在Linux / Mac上,我只运行此命令:
svn st | grep ^! | cut -b7- | xargs svn delete
-Chris
答案 0 :(得分:22)
您必须使用“Tortoise svn - > delete”删除该文件。
如果您错误地直接删除了,请执行svn更新以获取该文件,然后执行“tortoise svn-> delete”
: - )
答案 1 :(得分:3)
右键单击并打开TortoiseSVN存储库浏览器。您将在repo中看到该文件,并可以直接将其删除。
答案 2 :(得分:1)
文件在TortoiseSVN的提交对话框中显示为“缺失”,只有当删除它们的文件夹版本化并且仍然存在时。如果您删除了整个文件夹,它将不会显示为缺失。
答案 3 :(得分:1)
如果您意外删除了文件(不使用svn),您只需还原该修改以获取文件,然后使用svn将其删除。或者并行安装svn命令行并将其用于删除:)
答案 4 :(得分:1)
我通常只在Windows上安装cygwin,并从命令行使用svn。
答案 5 :(得分:1)
在linux上,也考虑带有空格的文件:
svn st | grep ^! | cut -b9- | sed 's/^/"/;s/$/"/' | xargs svn rm
如果您安装git for windows(msys)或cygwin,这也适用于Windows。
答案 6 :(得分:0)
如果您在第一次提交文件之前删除了该文件,则无法从存储库恢复,然后将文件恢复为Tortise svn>按照Indhu的建议删除。
我刚遇到过使用Tortise svn的情况 - >添加几个文件,然后在我提交之前直接删除文件。可能是一个不常见的案例,但这是我如何解决我的问题:
首先,我创建了新的(空)文件,其文件名与现在“丢失”的文件相同。然后,我做了一个Tortise svn>撤消每个文件的添加。这导致svn停止尝试使用这些名称提交文件。
答案 7 :(得分:0)
我在“添加”之后但在“提交”
之前删除文件时遇到了同样的问题通过右键单击不存在的文件并从该菜单中选择“删除”,我在执行提交时修复了此问题。然后提交。
答案 8 :(得分:0)
我知道这是一个死线程,但是我遇到了同样的问题。我“添加”了文件,然后在“提交”之前将其删除。因此,SVN还原将不起作用。
我通过右键单击目录中的文件并执行SVN->检查修改来解决此问题。修改后弹出一个对话框,允许我选择丢失的文件并将其从存储库中删除。
希望这可以帮助某人并为他们节省一些时间。