git - 将从另一个分支签出的分支变基到 master 上,而不拖动第一个分支的提交
问题描述
我正在与 git 的特殊情况作斗争。
简而言之,我正在尝试重新设置一个分支 ( feature/tracking-refactor
),该分支 () 是从另一个分支 ( feature/basic-tracking
) 签出的,而另一个分支 () 是从origin/master
.
合并后feature/basic-training
,我想feature/tracking-refactor
在不将feature/basic-training
提交拖到新的origin/master
.
下面是我的情况的更图形表示。假设我有一个如下的 git log 图作为起点。
而且,在成功合并feature/basic-tracking
到主请求后,我目前处于这种情况。
但是,当我尝试 rebasefeature/tracking-refactor
到 master 以获得类似干净的日志历史时,实际上我也在拖拽每个提交feature/basic-tracking
。我只想重新设置feature/tracking-refactor
提交,例如仅使用 (d0875g 和 ee68b9t) SHA 的提交。
我的工作将是创建一个新分支origin/master
并从分支中挑选每个提交feature/tracking-refactor
。但我希望有一个更优雅的选择。谢谢!
解决方案
git rebase --onto
. 这种方式可能很难:git rebase --onto target-branch discard-branch branch-to-rebase
. 因此,discard-branch将告诉 rebase不会在 rebase 操作上执行的修订。在你的情况下(如果我理解正确的话):
git rebase --onto origin/master feature/basic-training feature/tracking-refactor
实际上,如果 feature/basic-training 已经合并到 origin/master,你可以这样做:
git checkout feature/tracking-refactor
git rebase origin/master
或者
git rebase --onto origin/master origin/master feature/tracking-refactor
希望它有效。
推荐阅读
- python - 向 Django QuerySet 添加值
- go - 供应商非 go 依赖项的惯用方式是什么
- .net - 在选中或取消选中时更改 DataGridViewCheckBoxColumn 的背景颜色
- tensorflow - MLengine 'module' 对象没有属性 'estimator'
- botframework - 为 v3 项目创建机器人文件
- php - PHP move_uploaded_file 失败
- julia - 'UndefVarError: x not defined' 在其模块之外调用宏时(Julia v1.1)
- c# - 声明显式泛型参数和使用约束有什么区别?
- javascript - 根据父组件更改重置 tinymce 内容
- python - Pandas Series.dt.week 与 pd.Period.strftime - 有什么区别?