你如何在subclipse中只提交你已经“添加”到版本控制的文件?

时间:2009-11-15 20:38:05

标签: eclipse version-control subclipse

我花了相当多的时间在版本控制下选择我想要的文件和目录。我在eclipse下运行subclipse。我右键单击,团队,添加到版本控制。现在我只想要那些提交的文件,而不是右键单击整个目录,其中包含我不希望由版本控制处理的大量媒体文件。如果我在该目录下进行Team / Commit,它会挂起很长时间......我想通过“添加到版本控制”可以选择只提交这些文件。我只是不知道该怎么做。

我希望我能正确解释这个问题。

更新: 由于人们更多地讨论忽略文件的方法,而不是将你标记为“添加”的内容提交给版本控制,让我以不同的方式。 “添加到版本控制”到底做了什么?这似乎是一个没有用的功能。

3 个答案:

答案 0 :(得分:3)

Subclipse包含未版本控制的文件和您在打开提交对话框时专门标记为要添加的文件。它并不能完美地反映命令行客户端的行为。您有两个选择:取消选中您不想在Subclipse提交对话框中提交的每个文件,或使用命令行svn工具提交。命令行工具将仅提交已标记为要添加的文件,并将忽略其他文件。这是一个简单的例子:

$ touch file
$ svn status
?       file
$ svn add file
A         file
$ svn status
A       file
$ touch file2
$ svn status
?       file2
A       file
$ svn commit -m "Added empty file"
Adding         file
Transmitting file data .
Committed revision 2.

?表示svn未知的文件,不会被svn commit自动置于版本控制之下。 A表示计划添加的新文件。 Subclipse试图通过允许您“将文件添加到版本控制”来镜像此行为,这相当于命令行svn add。但也包括未在其提交对话框中安排添加的未版本控制的文件(我个人觉得有些烦人)。如果您在命令行上运行svn status,那么您在Subclipse中“添加到版本控制”的文件将标记为A,而未标记的文件将标记为? }。您不必运行任何svn add命令,因为您已经在Subclipse中执行了此操作。

答案 1 :(得分:1)

使用svn:忽略版本控制下不需要的资源(Team> Add to svn:ignore)

答案 2 :(得分:1)

您可以在Preferences / Team / Ignored资源中添加模式(它与svn:ignore不同)。如果它不再有用,您也可以将其删除。