git - git 在多个修补程序和功能提交后同步分支
问题描述
嗨:我有 2 个分支 master 和 dev 大约 2 周前同步。现在需要一些关于如何将功能(提交 F)移动到主分支的帮助。已经阅读了许多 git 工作流模型,只需要确保我在提交和推送更改之前就已经理解了它。
2 周前 大师
...-C-D-E
acpt
...-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>
在 master 分支中做什么。
3. 或者我应该在一个新分支中开发 F 并将该分支合并到 master 和 dev
解决方案
据我从您的开发工作流程中了解到,您正在使用 gitflow 工作流程。在此工作流程中,主要分支是:
- master - 最稳定的主分支
- development - 开发分支,用于开发和合并功能(最初从 master 创建)
- 特性分支——每次你想开发一个新特性时,你必须从最新的开发中创建一个新的特性分支
- hotfix - 用于 master 上的修补程序(如果版本已损坏)
- 发布 - 从开发创建到推送(发布)更改到主
如果您正在开发而不是功能分支,那么您必须先合并开发以掌握,然后再遵循工作流程。要回答您的问题:最好使用第一个选项:
git checkout master
git merge dev //to merge dev into master
然后推送到远程主控。
为了让 github 开心(如果你使用 github),你必须将 master 合并回开发中(这样它就不会发散也不会抱怨)。
推荐阅读
- c - 发送指向外部函数的指针使其为空后,它不会更改为空
- typescript - Firebase 函数无法使用异步 sendMulticast 方法发送一些推送通知
- angular - 如何设置我的反应式表单日期输入值?
- python - 在for循环中添加时,kivy没有正确添加/放置小部件
- google-cloud-firestore - Firebase 安全规则:如何在路径中使用破折号或连字符?
- javascript - 我具有绝对位置的 div 受其父项的 clic 影响
- javascript - 使列表可单击以将 ajax 请求加载到 div
- c++11 - 在什么情况下为构造函数参数调用移动构造函数?
- laravel - 间接修改重载属性 - 添加到数组
- python - Python:如何扫描 .txt 并将特定单词提取到列表中