【问题标题】:Checkout a previous revision in SVN and then commit changes to this revision?在 SVN 中签出以前的修订版,然后提交对此修订版的更改?
【发布时间】:2015-10-28 04:46:59
【问题描述】:

我需要从我的 SVN 中签出以前的版本,然后对其进行一些更改,提交它,然后从 Jenkins 的这个新版本中准备构建。

如何做到这一点?

我知道我可以签出以前的修订版,但是当我将更改提交到此修订版时,新提交仍将包含所有其他之前的更改。

我正在使用 TortoiseSVN。

我想要实现的示例: 假设当前版本是 111。 我想恢复到修订版 99,然后能够在没有从 100 到 111 的所有更改的情况下提交此版本。然后从 Jenkins 构建这个新修订版。

这个SO的问题也在找类似的东西,难道还是不能做这样的事情吗?

【问题讨论】:

    标签: svn jenkins tortoisesvn


    【解决方案1】:

    每次提交都会导致新的修订。您的旧提交将保留在日志中。

    在您的情况下,您必须使用“恢复到此版本”(乌龟上下文菜单)。然后进行更改并提交。这将创建一个提交,对从 100 到 111 的更改以及您的新更改进行“反提交”。

    但我建议您在两次提交中执行此操作。首先“恢复到此版本”-> 签入并再次提交您的新更改。

    也许这有助于:What is Reverse Merge ( Revert Merge ) in SVN, a simple explanation and the step by step processes from start to finish

    【讨论】:

    • 谢谢,为了简化我所做的一切,我将更改恢复为我需要的内容并再次签入这些文件。
    • @Micha:我有一个问题:我经常阅读“revert to revision”。但是,我从未在任何地方见过它,不是在 SVN 中,也不是在 TSVN 中。我知道“还原”,也知道“合并”,您可以在其中“反向合并”。此外,许多人说“反向合并”是“提交”,在我看来,它不是,因为仍然必须提交反向合并的更改。这些用法从何而来?
    • @Douba:你可以在 Tortoise SVN 中打开日志(通过“SVN Show log”)找到“revert to revision”并右键单击修订。对于更复杂的问题,我建议您打开一个新问题,因为它更易于管理:-)
    • @Micha:谢谢。我现在可以在你说的地方找到它。对我来说,提出一个新问题似乎太主观了,但你当然是对的。
    • @Douba:很高兴听到你找到它。
    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 2011-01-15
    • 2017-09-07
    • 2015-12-27
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多