如果svn更新扰乱了我的本地环境,如何回滚?
我对svn通常遵循的工作流程感兴趣。如果我进行更新(这是在一个没有持续集成或自动回归测试的环境中)以获得其他签入的更改,有时会出现可怕的错误。一些功能 是坏的,这甚至可能需要花很多时间来追踪谁负责或撤销更改。。。在这种情况下,我只想让我的“更新前”环境恢复如果svn更新扰乱了我的本地环境,如何回滚?,svn,Svn,我对svn通常遵循的工作流程感兴趣。如果我进行更新(这是在一个没有持续集成或自动回归测试的环境中)以获得其他签入的更改,有时会出现可怕的错误。一些功能 是坏的,这甚至可能需要花很多时间来追踪谁负责或撤销更改。。。在这种情况下,我只想让我的“更新前”环境恢复 这种情况下的标准是什么?我希望我的问题足够清楚。您可以随时更新回特定的修订号 svn up -r <revision_number> svn up-r 如果您只是回滚到以前的修订号,您还将丢失在更新之前(在工作副本上)所做的潜在
这种情况下的标准是什么?我希望我的问题足够清楚。您可以随时更新回特定的修订号
svn up -r <revision_number>
svn up-r
如果您只是回滚到以前的修订号,您还将丢失在更新之前(在工作副本上)所做的潜在本地更改,这些更改在决定性更新之前没有提交到服务器,但在更新过程中被合并
通常,每个需要提交更改的人都需要首先更新自己的版本,并检查是否所有内容都是稳定的、“已测试”的,或者至少是已编译的(我更喜欢下一个版本是防弹的)。然后,提交他/她的更改。
因此,一旦您需要更新,您至少可以在一个环境中保存此更新的保险
如果与您一起工作的其他人不合作,您可以自己创建分支,并在需要时执行合并。您将能够在分支上提交合并之前所做的任何更改。因此,一旦发生大破坏,它们将被保留下来。
您可以尝试的另一件事是评估“谁”对存储库的影响最大(从上一版本的稳定性来看),并建议他们暂时在另一个分支上开发。您可以通过以下方式重新创建工作副本:
svn update -r <revision_before_trouble>
svn更新-r
- SVN客户端将在当前工作副本版本和更新到的旧版本之间反向合并变更集。对于SVN,合并或反向合并是相同的——它只是将差异应用于文件
- 您的本地更改不受影响。如果本地更改与正在反向合并的更改集之间存在冲突,则将应用通常的SVN合并过程,即使用
选择要保留的更改。您不会简单地丢失所有本地更改SVN resolve
- 此过程将使您的工作副本恢复到故障开始前的状态