远程服务器中有一个活动的SVN项目,其中有两个或更多贡献者(我就是那个)。
我已经拥有svn文件夹的文件,所以我做了一个:
svn diff
在我的本地副本中检查更改。现在服务器和我的副本中的文件存在差异。
所以如果我这样做:
svn update
它会更新远程副本并覆盖那里的更改吗?或者它是相反的,它会下载那里正在更改的内容并与我的副本合并?
几个小时后,假设我做了所需的更改,建议了什么?
svn diff
之前先做svn update
?svn update
之前执行svn commit
?我想确保我不会覆盖其他贡献者制作的服务器中的某些更改。
答案 0 :(得分:0)
运行'svn update'不会对服务器进行任何更改,因此在您提交之前可以安全地进行 - 尽管您怀疑,它会检索其他人所做的任何更改并将它们合并到您的工作副本中。 / p>
如果您想在运行“svn update”之前预览对工作副本进行的远程更改,请尝试:
svn status --show-updates
绝对建议在提交之前(以及开始工作之前)运行svn update。
答案 1 :(得分:0)
update
将远程更改带入您的本地副本,因此您无需担心任何时候使用它。
也就是说,如果远程更改很复杂,那么您可能会失去本地更改的神圣性,从而导致任何冲突的混乱。
我倾向于经常做svn diff
来关注我的本地工作目录与工作基础的不同之处;准备好之后,我会做一个svn update
让一切都变得最新,做一个最后的svn diff
以获得关于我正在做什么的另一个观点,并最终执行{ {1}}。
所有这一切的唯一变化是我在Windows上使用TortoiseSVN,因此整个过程是图形化和直观的。