我在主分支上有一个长期的开发分支,在那里所有的修改都会完成,直到这个分支合并回主分支。但是,有时会精心挑选关键的修复程序并将其应用于主分支,而不是等待完全合并。在开发周期中,对开发分支的修改会被多次提交并推送到远程存储库。当最终完成返回到主节点的合并时,由于先前的挑剔而创建合并提交并不少见。
我知道一般来说,你不应该改变一个分支的基础,这个分支的提交已经被推送到其他人正在拉取的远程存储库。但在合并之后,开发分支和主分支除了具有不同的头之外,基本上是相同的。但是如果我在合并之后立即将我的开发分支重新定位到主分支上,我相信这两个分支将有一个共同的头(合并提交),并且开发分支中的提交ids都不会改变。这样做,没有人会受到伤害,而且我可以进行未来的合并,而不会被自动强制创建合并提交。
这是否合理呢?
发布于 2019-01-27 23:29:54
如果您在master
发布时没有任何新的development
提交,那么您所描述的相当于删除您的development
分支,然后从master重新分支。
通过重新建立基础,您将孤立那些精心挑选到master
上的原始提交,因此,如果development
下游的任何人已经将提交散列固定在提交散列上,可能会产生一些后果。它还会make life difficult for anybody downstream that had also checkout out the pre-rebased development
分支并尝试拉入。
我认为这是合理的,但它应该是开发过程中沟通的一部分,所以上面的后果不会让任何人感到惊讶。
https://stackoverflow.com/questions/54393219
复制相似问题