我需要一些关于将我的开发分支合并到主分支的建议。另请注意,我正在使用 Git 扩展,因此请尽量避免使用过多的命令行术语。
假设我在dev分支上进行了 3 次提交(我目前仍将其签出,并且在我分支之后, mst分支有 1 次提交。
dev: 1 ---> 2 ---> 3
/
/
mst: 0 --- X
现在我想将我的dev分支合并到mst分支中,但实际上我只想合并提交 1 和 2。
我的理解是,我需要检查mst(为任何正在进行的工作预先存储或临时提交)并将mst与提交 2 合并。
dev: 1 ---> 2 ---> 3
/ \
/ \
mst: 0 --- X ---- 4
现在,提交 3不同步,所以接下来要做的是重新同步dev分支。为此,我需要检查dev并将dev与mst合并或 rebase dev到mst
IE。
dev: 1 ---> 2 ---> 3 --- 5
/ \ /
/ \ ------
/ \ /
mst: 0 ---- X ----- 4
或者
dev: 1 ---> 2 5
/ \ /
/ \ /
mst: 0 --- X ---- 4
与其他开发人员不太满意的主要问题是合并可能会浪费大量时间,因为
- 您需要“保存”您当前的工作,然后 checkout mst然后返回 checkout dev (我们使用的是 VB6,因此我们还需要关闭并重新打开 VB6 以重新加载文件,因为潜在的合并冲突和 VB6 无法识别外部修改过的文件)
- 双重合并过程(一个更新 mst另一个重新同步 dev)
此外,我在 stash 方面遇到了一些可靠性问题(有时 stash pop 会阻止我弹出),这就是为什么我建议我的开发人员同事进行临时提交(在提交 3 之后),然后在最后进行混合重置.
我们是一家小公司,所以尽快把事情做好是当务之急(但我们不能把所有事情都推出来,因为有些事情会被推迟)。真的需要这么多步骤,还是有更快的方法?