如何合并两个Subversion提交到一个

我使用GUI程序与我们的SVN存储库进行交互。有很多时候我会提交十个不同的文件,但是不小心只选择一个并提交它。然后,我必须再次提交所有其他更改。如何合并两个Subversion提交到一个

有没有办法在跟踪程序中将这两个“重复”提交合并为一个单一提交的提交?

这是非常微不足道的,但我很好奇它是否有可能。

回答:

它听起来不像是“重复”提交。

这听起来像你有10个文件,你在两个提交中分别提交(如果我理解正确)。

我不知道您是否可以“解除”第一个文件,但是您可以做另一次提交,以便在进行意外提交之前将回购“恢复”到它的位置。这将允许您在同一修订版中提交所有十个文件。

我不知道如何用GUI/IDE来做到这一点。

在命令行中,你可以做这样的:

  • 意外提交文件中的翻修5000

  • 创建一个补丁,以恢复提交:

    SVN差异-r 5000:4999> revert.patch

  • 应用补丁:

    补丁-p0 < revert.patch

  • 现在你的回购是它是前意外提交

  • 现在你可以提交所有十个文件一起

可能有许多方式(一些更容易)来做到这一点。我相信这个答案会被低估!

回答:

一般来说,修订控制系统的思想是你不能回去改变以前的提交 - 这会消除很多价值,因为你不能再保证修订控制系统中的内容是你的实际上当时有。

在颠覆的情况下,你可能使用svnadmin转储出库,编辑备份,然后再次恢复它......但是这东西是边际价值的大量的工作。听起来对我来说更好的主意是获得一个更适合您工作流程的前端,或者添加一些提交钩子来阻止您首先做出错误的提交。

回答:

就我所知,在Subversion中没有直接的支持(比如git)。但是,您可以撤消更改并进行新的提交。你可以参考这里: http://svnbook.red-bean.com/en/1.2/svn.branchmerge.commonuses.html#svn.branchmerge.commonuses.undo

,或者如果你使用一些像GUI乌龟例如,您可能会发现以下有趣shortarticle:

http://markphip.blogspot.com/2007/01/how-to-undo-commit-in-subversion.html

以上是 如何合并两个Subversion提交到一个 的全部内容, 来源链接: utcz.com/qa/257266.html

回到顶部