我是 SVN 的新手。SVN-add 是为了“准备要集成到 SVN 中的文件”,对吧?但是如果我希望它有效地集成到版本控制中,我必须提交它(在我执行 SVN-commit 时打勾)。那么我为什么要撤消添加(如果在提交后验证文件集成之前添加没有任何后果)?
另外,你能告诉我一些使用 SVN 的好参考吗?
谢谢并恭祝安康。
我是 SVN 的新手。SVN-add 是为了“准备要集成到 SVN 中的文件”,对吧?但是如果我希望它有效地集成到版本控制中,我必须提交它(在我执行 SVN-commit 时打勾)。那么我为什么要撤消添加(如果在提交后验证文件集成之前添加没有任何后果)?
另外,你能告诉我一些使用 SVN 的好参考吗?
谢谢并恭祝安康。
我使用下一个 svn 命令,最后带有文件/s 名称:
svn del --keep-local
您添加了一个文件,然后认为您犯了一个错误,并且您真的不想将它添加到 SVN。因此,您在提交之前撤消添加(即恢复工作副本中的更改)。
您在 SVN 中进行的每个操作都是在您的工作区中本地进行的。
如果您不想提交新添加的文件,则应“取消”此添加,以获得干净的工作空间。这是“撤消添加”的目标。
这是一个关于 SVN 的非常好的讲座:http: //svnbook.red-bean.com/
那么我为什么要撤消添加(如果在提交后验证文件集成之前添加没有任何后果)?
确实,如果您从不提交该文件,您将永远不会看到它被添加到您的 SVN 存储库中。但是不要考虑“准备集成”,而要考虑“将文件置于版本控制之下”。这意味着如果您在文件夹级别而不是文件级别执行 SVN 操作,您可以确保只有您有意更新的文件被触及。
如果您执行svn up docs/,并且您的本地文件夹包含与存储库中的文件同名的文件,则 svn 会抱怨。如果您的本地文件受版本控制,它可以将两者完全合并在一起,而您不会注意到。
同样,如果您想将整个文件夹提交到存储库,您会很高兴任何未明确标记为包含的文件(例如.lck或.ds store)不会被错误提交 - 充其量会导致不必要的混乱和最坏的情况是导致团队中的开发人员之间发生冲突。
在这种情况下,不使用 'undo-add' 意味着任何更高目录级别的 svn 提交都会将此文件添加到存储库中。可能在你忘记做'svn add'开始很久之后:)