git - 将更改从开发合并到主分支的更好方法是什么?
问题描述
Master 是主分支,被直接合并请求锁定。
Develop 是 master 的分支。
Feature1 是从开发分支分支出来的。
我可以将代码从 Feature1 分支拉到我的本地 GIT 并进行更改,然后在本地提交代码。
现在我有两个选项可以将更改集成到开发分支:
要将 feature1 的代码更改带入开发,我们可以合并 squash 或 rebase feature1 到本地开发,然后将开发推送到服务器。合并壁球不保留以前的功能提交历史。作为 rebase 将保留历史记录。
另一种方式,我们可以将 feature1 分支推送到服务器,然后在服务器上提出拉取请求,将 feature1 分支的代码合并到开发分支,而不是将本地代码从 feature1 合并到 develop 分支。合并到开发分支时,来自 feature1 的提交历史记录会被存储还是被忽略?
哪种方法更可取?
解决方案
如果你不是唯一一个在工作的人feature1
,最好有一个 PR 来合并它develop
。
变基将涉及强制推送,使您的同事不得不重置他们自己的feature1
分支。
为了保留 的历史feature1
,在接受 PR 时考虑定期合并,而不是“挤压和合并”。
对于develop
to master
,您不是唯一一个集成功能的人,因此建议使用 PR 来合并(而不是 rebase)develop
。
推荐阅读
- python - 如何在特定单元格位置查找单元格数据值列表?
- android - Android 检查上下文中的 docker uild 错误:没有从 /config/sdcardfs/remove_userid 读取的权限
- reactjs - 从 MongoDB 数据库保存和获取媒体
- google-apps-script - 复选框标记为true时如何将行删除到新工作表
- c# - 我们如何以编程方式在 Azure DevOps 中添加现有链接
- java - 如何使用 jar 文件为 linux 制作安装程序?
- javascript - Firebase 身份验证未将数据存储在本地存储中
- ios - 将.a静态库添加到IOS插件
- javascript - 将 setTimeout 与递归函数一起使用
- ios - 领域将 pod 降级到以前的版本 (Swift)