git - 如果其中一个合并到主分支,那么更新从特性分支获取的姊妹子特性分支的最佳方法是什么?
问题描述
给定master -> A
,A->B1
和A->B2
.
如果B2
合并到master中,最好的更新方式是B1
什么?
我试图了解合并分支层次结构的最佳实践。
什么是可接受的,什么是不可接受的(即可能导致合并冲突或混乱的 GitHub 文件更改选项卡)
什么时候按顺序合并回来有意义,什么时候直接合并是有意义的,无论是特征分支向后向主分支还是向特征分支主分支,还是在特征分支的分支之间?
解决方案
我不确定我是否理解正确,但我认为您是在问这种情况:
B1 ,-o--o--o
/
A ,-o--o
/ \
B2 / '-o--o
/ \
master --o--o--o-----------o--
其中 A 是从 master 分支出来的,B1 和 B2 是从 A 分支出来的。
对于像这样用抽象术语描述的问题,我认为没有什么可以描述为最佳实践,这在很大程度上取决于所涉及的所有分支的目的是什么。
如果分支 A 代表一个功能的工作,旨在进行其他提交并在某个时候合并回 master,那么我会质疑为什么 B2 被合并到 master 而不是回到 A。
如果 A 不代表特定功能的工作,但 B1 和 B2 代表,那么我认为 B1 可以合并到 master 中。
如果 B1 是从 A 分支出来的事实是一个问题,那么它可能会首先重新定位到 master 上。
归根结底,这个问题的答案取决于您的开发过程是什么样的,以及您在开发过程中如何使用分支。
推荐阅读
- cassandra - 使用 DSBulk 进行备份/恢复需要太长时间
- qt - 使用 QNdefMessage 解析 mfd 转储
- python - 如何计算自没有零的列标志以来的天数?
- python - 将图像转换为 CMYK 并在 OpenCV 中拆分通道
- c++ - 克莱恩没有看到明格
- php - 运行 laravel 应用程序时找不到 Laravel [vendor.installer.welcome] 并重定向到 localhost:8000/install
- javascript - 为什么发布请求没有返回正确的值
- java - 多个单图像瓦片集未在地图显示上呈现
- c# - 如何解决这个 firebaseAuth 错误,将新用户添加到 firebase 时出错
- java - 片段中带有 RequestPermission 的 registerForActivityResult 不起作用