svn更新的确切工作原理如何?我知道它会将svn副本上的所有更改带到您当地的。
我有过时的文件阻止我的副本提交错误:
file' somename'已经过时了
SO上最常出现的解决方案是执行svn update
命令然后执行svn commit
。
但是,是不是让我失去了对我的本地文件上的文件所做的更改,包括过时的文件?
答案 0 :(得分:2)
它“让你”失去你的变化吗?我觉得是的。 可能会丢失您的更改吗?一点也不。它会默默地破坏你的变化吗?绝对不是。
执行svn update
将合并存储库更改为您的工作副本。假设您正在使用文本文件,这意味着如果您更改了与存储库更改相同的行,您将得到“合并冲突”,您必须手动解决。因此,如果您丢失了更改,那是因为您在解决冲突时搞砸了,而不是因为SVN所做的任何事情。
答案 1 :(得分:0)
您可以备份本地文件并获取svn更新。稍后使用任何文件比较工具合并您的更改。 Beyond Compare通常用于合并大文件。或者,如果您使用带有SVN插件的eclipse,它会更简单。右键单击项目或文件,转到Team>与存储库同步。您将看到Team Sync视图,您应该在传出更改或冲突下看到您的文件。双击要合并的文件,然后将svn文件与本地合并。完成所有操作后,右键单击文件,然后单击标记为合并。最后检查文件。