我试图稍微修改一下我的工作流程,在理解两种不同的场景方面我需要帮助。
场景1
在特性分支上使用来保持它们的最新。正常情况下,我会手动重新定位,但重基地标志似乎有点少的仪式。
场景2手动从主服务器重基,并在主服务器上使用git pull —rebase
。
这两种情况有什么区别?
分支机构的可视化将是有帮助的,谢谢。
发布于 2015-09-09 09:11:59
根据您最近的评论,您希望对以下之间的差异作出解释:
将您的特性分支直接从上游分支(场景1)重新定位到本地主服务器(场景2)
在场景1中,所有在特性分支上工作的用户都将通过基于特性的重定向来对特性进行新的远程更改。这可能意味着他们将快速转发远程特性分支并进行更改。假设每个人都遵循这个工作流,最终结果将是一个完全线性的特征分支。当需要将该特性带回到master
中时,您可以合并它或重新建立它的基础;选择将取决于您的喜好。但是,考虑到维护线性特性分支的开销,如果您希望将整个特性重新基础为master
,则此选项将是最有意义的。这将在最终的master
分支中保留完整的提交历史记录,这将使历史记录更易于阅读。
对于场景2,首先必须注意的是,基于本地master
的重基与基于远程master
的重基并没有什么区别,因为master
的本地副本应该始终保持最新。因此,您将描述如何在远程master
上重新设置该功能。在这个场景中,处理该特性的用户将在master
上重新建立基础,这可能与特性有不同的基础。这意味着重基之后,用户可能不得不将分支推到远程。这可能会给其他也使用此分支的人带来问题。因此,对于多个用户可能同时在同一特性分支上工作的情况,我不建议使用场景2。
https://stackoverflow.com/questions/32475012
复制相似问题