3

这个问题涉及“取消版本控制”本地文件/目录的问题,因此您将它们保留在本地,但它们会从远程存储库中删除。我有一些相反的问题——另一位开发人员提交了一些 XCode 项目目录,这些目录应该是每个用户的。我无法在本地签出此目录,因为我已经有一个本地非版本控制。如果我直接从 repo 中删除它们,我担心更新时我们的两个本地副本都会被删除。

总结一下: - 开发人员和我都有一个包含多个文件的本地文件夹 - 开发人员将他的目录提交给 SVN - 开发人员的工作副本包含版本 - 我的工作副本包含非版本,不会让我更新

在两种情况下,这里的最佳路线是什么:

  1. 开发人员可以帮助解决问题
  2. 我必须做所有事情并尽量不破坏开发人员的工作副本

谢谢!我们正在使用 SVN 1.6 存储库。

4

1 回答 1

7

您可以远程删除文件而无需签出特定的工作副本:

 $ svn rm -m "Removing user property" http://repo/svn/project/.userprops

但是,您始终可以在计算机上的其他位置签出新的工作目录并从那里进行删除。我推荐这种方法,因为它允许您在提交更改之前检查并验证您正在执行的操作。另外,您可以通过执行反向合并来撤消错误的修订。

假设这些错误添加的每用户文件的修订版是修订版 43210:

$ mkdir temp
$ cd temp                # New clean directory for new clean checkout
$ svn co http://repos/svn/project/trunk project-trunk
$ cd project-trunk
$ svn merge -c -43210    # Removes the bad revision
$ svn commit -m"Reversing revision 43210 because of bad pre-user files added"

就是这样。

顺便说一句,我有一个预提交挂钩,可以防止这种情况再次发生。您可以简单地将其配置为不允许用户在项目中添加和提交这些每个用户的文件。

于 2013-09-16T15:38:09.750 回答