git - git可以跟踪基础分支吗?
问题描述
我看到很多这样的问题,但不幸的是,他们都没有给出直接的答案 - git 可以跟踪创建当前分支的基本分支吗?
考虑以下分支结构:
master ---c0--c1---
\
release1 ---c2--c3
\
feature1 ---?
Release1 分支从 master 分支出来,并且在合并后有 2 次提交(c2 和 c3)。Master 分支有 1 个提交 (c1),尚未在任何地方合并。Feature1 分支在 c2 提交后从 release1 分支出来,并且还没有 c1 或 c3 提交。
我希望 feature1 被“束缚”到 release1,即它应该从 release1 获取更新,而不是从 master 获取更新,所以“git ...”命令应该合并 c3 提交而不是 c1。
当用户在进行合并时明确指定 release1 作为源分支时,这很容易完成。我的问题是 - git 是否能够记住当前分支是基于 release1 并从 release1 中默认提取更改?
解决方案
如此处所述,这可以通过设置[origin/]release1
为feature1
(何时feature1
签出)的上游分支来完成。
git branch -u origin/release1
(这也被提出是这个答案与 -u, --set-upstream-to 更长的等价物)。
现在您可以简单地
git pull --rebase
何时feature1
自动变基(或跳过 --rebase 以创建合并提交)到HEAD
分支release1
,其中包括 c2 和 c3。
推荐阅读
- javascript - 无权在 Nativescript 应用程序上打开/查看文件
- python - DataFrame 从 str.contain 创建列和 groupby
- c++11 - C ++中的结构未初始化问题
- javascript - 如何在 sweetalert 中查看所有表单验证错误消息,而不是消息“请填写此字段” - Jquery
- java - 尝试打开对话框以在 netbeans 中指定项目路径实际上需要 2 分钟
- python - Tkinter:无法设置边框颜色(井字游戏)
- sql - 如何在施法时间函数中获得毫秒
- angular - 纱线构建显示错误命令失败,退出代码为 1
- reactjs - 推断基于 gatsby-image 的高度和纵横比的宽度
- gravity-forms-plugin - 如何使用 Jquery 删除重力表单字段的必需属性?