如何在SVN中“git rebase master”?

时间:2013-05-27 14:37:43

标签: svn version-control

场景:

  • 创建了一个分支(可能添加了一些提交,在我的情况下没有添加)
  • 稍后,在trunk中,由另一个开发人员推送提交,这对于分支工作至关重要

从trunk获取提交的最干净的工作流程是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用svn merge将更改从一个分支合并到另一个分支。这类似于git rebase命令:

$ svn co $REPO/branch/$branch/$project
$ cd $project
$ svn merge $REPO/trunk/$project
$ svn commit -m"Merging some change that was in trunk that the branch needs"

在Subversion的最新版本中,您不再需要-reintegrate切换。

如果您知道要合并的确切修订版。也就是说,您查看了svn log并查看了您想要在主干上进行的更改,您可以指定仅合并该修订:

$ svn co $REPO/branch/$branch/$project
$ cd $project
$ svn merge -r$rev $REPO/trunk/$project
$ svn commit -m"Merging revision $rev into branch because the branch needs it"

这只会合并到检查到分支所需的trunk的单个更改中。

有关详情,请使用svn help merge命令查看Subversion online manual

请记住git至少有两个单独的存储库,因此rebasemerge都需要svn只处理集中存储库,因此只有需要一个命令。