merge

简介

合并分支。

vb merge [OPTIONS] [VERSION]

示例

  • v2.0 分支合并到主分支:

$ vb merge v2.0
ADDED README.md
ADDED main.c
 "vb undo" is available to undo changes to the working checkout.
  • 只合并 c4d4807586 版本上的更改:

$ vb merge --cherrypick c4d4807586
MERGE main.c
 "vb undo" is available to undo changes to the working checkout.
  • 撤销 fbad7edd74 版本的更改:

$ vb merge --backout fbad7edd74
ADDED new.txt
ADDED test.txt
 "vb undo" is available to undo changes to the working checkout.

说明

参数 VERSION 是需要合并到当前工作副本的版本或者分支。从该版本到以其为祖先的所有版本都会被合并。

--cherrypick--backout 选项则仅合并指定的版本。使用前者时,此命令的工作方式与 merge --cherrpick 相同。而使用后者时,会从当前工作副本中删除与指定版本相关的更改。

在合并分支中重命名的文件将在当前工作副本中重命名。

如果省略了 VERSION 参数,VisionByte 会尝试在当前分支上找到要合并的最新分支。

如果有多个 VERSION 参数,将按照 VERSION 输入的顺序逐个合并。

适应场景

  • 功能开发完成后合并

在一个特性分支上工作了很长时间,特性开发完成并通过了测试,现在需要将这些更改合并到主分支。

  • 修复生产问题

你在主分支上发现了一个生产环境中的问题。为了快速修复该问题,你可以在主分支上创建一个修复分支,并在修复完成后将修复合并回主分支和其他相关分支(如开发分支)。

  • 管理长期和短期特性

你正在开发一个大型项目,其中包含多个长期和短期特性。你可能会在长期特性分支上工作,同时在短期特性分支上进行一些小的改进或修复。

  • 合并开发和测试分支

你在一个开发分支上进行了一些更改,并且在一个测试分支上进行了相关的测试。测试通过后,你需要将这些更改合并回开发分支,以便进行进一步的开发和准备发布。

  • 重构代码

你正在进行代码重构,这可能涉及到将一部分代码从一个分支合并到另一个分支,以整理代码结构或改进设计。

  • 协作开发

在团队协作开发中,不同的开发人员在各自的分支上工作。将一个人的更改合并到主分支或开发分支上是常见的操作,以确保所有人的工作能够整合在一起。

选项

--backout

撤销指定版本添加的更改。

--baseline BASELINE

使用指定基线作为合并的枢轴,而不是最近的共同父版本。这样可以合并分支中的一系列更改,而无需合并整个分支。

--binary GLOBPATTERN

将与 GLOBPATTERN 匹配的文件视为二进制文件,并且不尝试合并更改。

--cherrypick

将指定版本进行选择性合并到当前工作副本版本中。

-f|--force

强制合并。

--force-missing

即使缺少内容也强制合并。

--integrate

在合并后关闭此合并的分支。

-K|--keep-merge-files

当发生冲突时,保留用于合并的临时文件,临时文件为 *-baseline*-original*-merge

-n|--dry-run

试运行,不执行任何操作,但显示将发生的情况。

-v|--verbose

显示合并的更多详细信息。