我在master分支上有一个长期的开发分支,在那里所有修改都完成了,直到该分支合并回master分支。但是,偶尔会挑剔关键修复程序并将其应用于master分支,而不是等待完全合并。在开发周期中,会多次提交对开发分支的修改并将其推送到远程存储库。最终完成向主服务器的合并后,通常会由于先前的选择而创建合并提交。
我知道,一般来说,您不应该为已经提交到其他人正在从其推送的远程存储库中的提交建立分支。但是合并之后,开发和主分支基本上是相同的,只是头部不同。但是,如果我在合并后立即将开发分支重新设置为master分支,我相信这两个分支将具有一个共同的头(合并提交),并且development分支中的所有提交ID都不会更改。这样一来,没有人会受到伤害,并且我可以进行将来的合并,而无需自动强制创建合并提交。
这合理吗?
答案 0 :(得分:0)
如果从development
发布时您没有对master
的任何新提交,则您所描述的等同于删除development
分支,然后重新-从主人那里分支。
通过重新基准化,您将孤立化被挑选到master
上的原始提交,因此,如果development
下游的任何人已固定到提交哈希中,则可能会产生一些后果。它还会make life difficult for anybody downstream that had also checkout out the pre-rebased development
分支并尝试拉动。
我认为这是合理的,但它应该是您开发过程中沟通的一部分,因此上述后果不会使任何人感到惊讶。