git 在多个修补程序和功能提交后同步分支
Posted
技术标签:
【中文标题】git 在多个修补程序和功能提交后同步分支【英文标题】:git syncing up branches after a multiple of hotfixes and a feature commit 【发布时间】:2020-05-22 20:28:19 【问题描述】:嗨:我有 2 个分支 master 和 dev 大约 2 周前同步。现在需要一些关于如何将功能(提交 F)移动到主分支的帮助。已经阅读了许多 git 工作流模型,只需要确保我在提交和推送更改之前就已经理解了它。
2 周前 大师
...-C-D-E
接受
...-C-D-E
我在两个不同的日期添加了两个修补程序(H1 和 H2),同时处理另一个功能(提交:F)。所以树枝看起来像这样 大师
H2
/
H1
/
...-C-D-E
开发
H1 H2
/ /
...-C-D-E-F
我的问题如下
1.现在我想把F移到master上。我打算在主分支中执行git merge dev
。这有什么问题吗
2. 或者我应该在主分支中做git merge <commit-id for F>
。
3. 或者我应该在一个新分支中开发 F 并将该分支合并到 master 和 dev 中
【问题讨论】:
【参考方案1】:据我从您的开发工作流程中了解到,您正在使用 gitflow 工作流程。在这个工作流程中,主要分支是:
master——最稳定的主分支 development - 用于开发和合并功能的开发分支(最初从 master 创建) 功能分支 - 每次您想要开发新功能时,都必须从最新开发中创建一个新功能分支 修补程序 - 用于主服务器上的修补程序(如果版本已损坏) 发布 - 从开发创建到将更改推送(发布)到 master如果您从事的是开发而不是功能分支,那么您必须先将开发合并到 master,然后再按照工作流程进行操作。 回答您的问题:最好使用第一个选项:
git checkout master
git merge dev //to merge dev into master
然后推送到远程master。
为了让 github 开心(如果你使用 github),你必须将 master 合并回开发(这样它就不会发散也不会抱怨)。
【讨论】:
以上是关于git 在多个修补程序和功能提交后同步分支的主要内容,如果未能解决你的问题,请参考以下文章