我觉得与 Git 的工作流程不一致,并尝试弄清楚如何对此进行调整。基本问题在于我的development
分支与master
分支的 DEBUG 代码。假设我有文件:
/* release code */
...
/* debug code on development - every time removed before merge to master */
...
/* release code */
我从这个树干开始:
<R1><--<R2><--<R3> master
<c1><--<c2><--<c3><--<c4> development
我意识到是时候发布了。我需要将 --no-ff 合并到master
分支。但我想保留我的调试代码。因此,我prepare-R4
在development
.
<R1><--<R2><--<R3> master
<r41><--<r42> prepare-R4
/
<c1><--<c2><--<c3><--<c4> development
删除调试代码后,我将 --no-ff 合并到master
.
<R1><--<R2><--<R3><-------------------<R4> master
/
<r41><--<r42> prepare-R4
/
<c1><--<c2><--<c3><--<c4> development
假设现在我对 master 进行了小修复hotfix-my-code
(code
只是一个随机的非工作功能)。我不想申请development
,因为我总是需要运行 newprepare-RX
才能迁移到master
. 我就是这样做的:
<a1> hotfix-my-code
/ \
<R1><--<R2><--<R3><-------------------<R4><--<R41> master
/
<r41><--<r42> prepare-R4
/
<c1><--<c2><--<c3><--<c4> development
现在我应该将它合并development
到填充<a1>
。正确的?但是有我想永远保留的调试代码development
!如果我合并它将被删除。
<a1> hotfix
/ \
<R1><--<R2><--<R3><-------------------<R4><--<R41> master
/ \
<r41><--<r42> \ prepare-R4
/ \
<c1><--<c2><--<c3><--<c4><-------------------------<c5> development
另一个问题,每次我需要发布时运行我的新分支prepare-RX
,它生成总是删除相同的调试代码(或者如果它被时间扩展,则需要更多的调试代码)。这很烦人。我可以以某种方式优化这个流程吗?
<R3><-------------------<R4><--<R41><---------------------<R5> master
/ \ /
/ \ <r41><--<r42> prepare-R5
<r41><--<r42> \ / prepare-R4
/ \ /
<c3><--<c4><-------------------------<c5><c6> development