0

远程服务器中有一个活动的 SVN 项目,其中有两个或多个贡献者(我是其中一个)。

我已经有 svn 文件夹的文件,所以我做了一个:

svn diff

在我的本地副本中检查更改。现在服务器中的文件和我的副本中的文件之间存在差异。

所以如果我做一个:

svn update

它会更新远程副本并覆盖那里的更改吗?还是相反,它将下载那里正在更改的内容并与我的副本合并?

几个小时后,假设我进行了必要的更改,有什么建议?

  1. 先做svn diff之前svn update
  2. svn update先做后做svn commit

我想确保我不会覆盖其他贡献者在服务器中所做的某些更改。

4

2 回答 2

0

运行 'svn update' 不会将您的任何更改提交到服务器,因此在提交之前执行此操作是安全的 - 尽管正如您所怀疑的,它会检索其他人所做的任何更改并将它们合并到您的工作副本中。

如果您想在运行 'svn update' 之前预览将对您的工作副本进行哪些远程更改,请尝试:

svn status --show-updates

绝对推荐在提交之前(以及在你开始工作之前!)运行 svn update。

于 2013-01-25T07:11:00.723 回答
0

update将远程更改带入您的本地副本,因此您可以随时使用它而无需担心。

也就是说,如果远程更改很复杂,那么您可能会失去本地更改的神圣性,从而导致任何冲突的混乱。

我倾向于svn diff经常关注我的本地工作目录与工作基础的不同之处;当准备好开始时,我会做一个svn update让一切都保持最新状态,做一个决赛svn diff来了解我在做什么,最后执行svn commit.

所有这一切的唯一变化是我在 Windows 上使用 TortoiseSVN,因此整个过程是图形化和直观的。

于 2013-01-25T07:31:06.230 回答