当repo发生变化时,如何将本地文件提交到subversion repo?

时间:2012-06-04 15:41:21

标签: svn

我使用乌龟svn。我添加了一个文件夹并将其提交给subversion repo。然后,我的同事做了一些事情,犯了一个错误,并删除整个文件夹,并要求我重新提交工作文件。

但是现在,当我点击tokise svn->提交,它说“没有文件被更改或添加”。服务器仓库中的文件不再是整个文件夹都消失了。

如果我点击更新,它将删除我的本地文件夹,我不希望这样。我想要的是重新将我在本地文件夹上的任何内容重新发送回repo。我该怎么做?

感谢。

5 个答案:

答案 0 :(得分:2)

您需要还原您的同事所做的更改。

首先,备份已删除的文件夹。现在更新该文件夹的父目录。然后转到父文件夹 - >右键单击它 - > '显示日志' - >找到你的同事做的改变的条目 - >右键单击它 - > '还原此修订版的更改'。检查工作副本中的目录是否已恢复。

现在从备份中复制更改的文件(如果有的话),不要忘记svn add个新文件(如果有的话)。仅提交您的目录(否则您的同事所做的其他更改也将被还原)。现在右键单击父文件夹 - > 'Revert'(这将恢复与删除的文件夹无关的同事修改)。

顺便说一下,了解还原已提交的更改的作用非常重要:它会将提交中的更改应用于“向后”还原到您的工作副本。因此修订/提交不会从存储库中消失。

答案 1 :(得分:1)

好吧,你可以将你的本地文件夹复制到其他地方,更新,然后移回文件夹,将它添加到subversion并提交(并用棍子打你的同事)

答案 2 :(得分:0)

如果您使用的是svn的终端版本,则需要将文件“添加”到提交(svn add)。在Tortoise svn的某个地方应该有一个命令来做到这一点。

答案 3 :(得分:0)

您只需将更改提交到新分支即可 如果您不想切换主开发。到一个新的分支,只需:

  • 仍然将更改提交到新分支(因此它是备份!)
  • 将主分支与您的分支合并。
  • 删除所有内容(只保留.svn文件)并覆盖您的文件(来自您的分支)。
  • 提交。

答案 4 :(得分:-1)

假设您的同事不仅删除了目录,而是移动了目录或在其他位置创建了另一个目录,您可以使用'svn switch'(或等效的乌龟)将当前的工作副本重新指向新的存储库位置。之后你可以安全地再次提交。