SVN-add和undo-add,用于什么?

时间:2012-06-25 08:40:09

标签: svn version-control add

我是SVN的新手。 SVN-add是为了“准备一个集成在SVN中的文件”,对吧?但是如果我希望它有效地集成在版本控制中,我必须提交它(当我做SVN提交时勾选框)。那么为什么我要撤消添加(如果在我提交后验证文件集成之前添加没有后果)?

另外,您能否指出一些使用SVN的好参考资料?

谢谢和问候。

4 个答案:

答案 0 :(得分:2)

你添加了一个文件然后决定你犯了一个错误,你真的不想把它添加到SVN。因此,在提交之前撤消添加(即恢复工作副本中的更改)。

答案 1 :(得分:1)

我在末尾使用带有文件名的下一个svn命令:

svn del --keep-local

答案 2 :(得分:0)

您在SVN中进行的每项操作都是在您的工作空间中进行的。

如果您不想提交新添加的文件,则应“取消”此添加,以获得干净的工作区。这是“撤消添加”的目标。

以下是关于SVN的非常好的讲座:http://svnbook.red-bean.com/

答案 3 :(得分:0)

  

那么我为什么要撤消添加(如果在我验证之前添加没有后果)   提交后的文件集成??

确实,如果您从未提交该文件,您将永远不会将其添加到您的SVN存储库中。但是,不要考虑“为整合做准备”,而是“将文件置于版本控制之下”。这意味着如果您在文件夹级别而不是文件级别上执行SVN操作,则可以确定只触及您有意更新的文件。

如果您执行 svn up docs / ,并且您的本地文件夹包含与存储库中的文件同名的文件,则svn会抱怨。如果您的本地文件受版本控制,它可以将两者完全合并在一起,而不需要您注意。

同样,如果您想将整个文件夹提交到存储库,您可以很高兴任何未明确标记为包含的文件(例如 .lck .ds存储)不会被错误地提交 - 最多会造成不必要的混乱。最糟糕的是,你的团队中的开发人员之间会发生冲突。

在这种情况下,不使用“undo-add”意味着更高目录级别的任何svn提交都会将此文件添加到存储库。可能很久之后你已经忘记了开始使用'svn add':)