从XCode中的SVN存储库中删除文件

时间:2013-01-11 18:05:31

标签: xcode svn

我错误地将文件添加到Xcode中的项目中,并将其推送到服务器。 现在我想删除它。

从第一次提交时,从本地项目中删除文件是否会导致将其从远程存储库中删除?

5 个答案:

答案 0 :(得分:3)

从Xcode项目中删除文件并不是要从存储库中删除该文件。如果要从Xcode中的存储库中删除文件,则必须使用管理器。

打开管理器,然后单击管理器顶部的“存储库”按钮。从管理器左侧的存储库列表中选择存储库的Trunk文件夹。选择要删除的文件。单击管理器底部的“删除”按钮,从存储库中删除该文件。

答案 1 :(得分:3)

Subversion就像其中一个Roach Motels:文件签入,但他们永远不会签出

将文件添加到Subversion后,它就会 永远 。您可以从存储库的当前版本中删除它(通过svn rm命令),但是您永远不能将其完全删除。有人总能在日志中看到它,有人可以通过在删除文件之前检查该目录的修订版来访问它。

关于此功能存在很多争议。大多数版本控制系统都有某种 obliterate 命令,允许您删除文件版本或从存储库中完全删除文件。问题是Subversion不修改文件 - 它修改整个存储库。

我不知道Xcode,所以我无法帮助您完成确切的步骤。但是,Xcode中必须有一个Repository视图,就像在Eclipse中一样,或者是一系列处理存储库的子命令(很像Eclipse的 Team 命令)。您应该能够从那里删除该文件,然后提交您的更改。

这将从最新版本的代码(以及未来版本)中删除该文件。但是,它仍然存在于存储库中,因此有人可以通过历史记录日志找到它,然后在删除文件之前检出存储库的版本。如果此文件包含您的瑞士银行帐号,则表示您遇到了麻烦。


注意 :有一种方法可以从Subversion中完全删除文件,但您必须关闭存储库,将其转储出来,过滤掉文件,然后加载存储库转储到新存储库中。通常不值得努力。

答案 2 :(得分:2)

您可以使用svn rm filename

从命令行执行此操作

http://svnbook.red-bean.com/en/1.6/svn.ref.svn.c.delete.html

答案 3 :(得分:0)

从Xcode中删除文件将在您提交时将其从远程仓库中删除(使用svn测试)。

使用Xcode 4.6.3我从项目中删除了一个文件。已提交,然后从我的远程存储库中删除了它。从Xcode中删除时,必须在提示操作时选择“移至废纸篓”。如果选择“删除引用”,那么该文件将保留在远程存储库中,就像它仍然是项目文件的一部分,但在实际的Xcode项目中没有被引用。

当您提交文件时,计算其上带有复选标记的文件,并查看Xcode在右下角报告的计数,Xcode报告一个额外的文件!这是已删除的文件,这意味着它提交了更改。

再一次,在提交之前,转到终端并“cd”到您删除了该文件的目录。输入:

svn info ./yourFilesName.txt

您会看到一个结果:

Schedule: delete

表示执行提交时,文件将从远程仓库中删除。

答案 4 :(得分:0)

从Xcode中删除时,必须选择“移至垃圾箱”,然后提交“.xcodeproj”文件