我有一种情况,我必须在很长一段时间内维护两个分支,并且“合并”没有吸引力,因为只应来回进行选择性更改。所以我学会了使用cherry-pick。但是,我想到了另一种选择,但我担心 rebase 命令缺少必要的选项。
git rebase 进行一组新提交,然后移动分支标签以指向最后一个。我想我在这里想要的很简单:我想单独留下旧的分支标签,并创建一个全新的分支标签。我假设的工作流程是使用这种机制来创建一个单一的、压缩的、提交的,以供挑选,而不像其他人看到的那样重写历史。
我想到的一个近似方法是制作一个克隆,在克隆中变基 -i,重命名分支,然后将结果推回。有没有办法直接使用我缺少的 git rebase 来做到这一点?
如果您在要保留的分支上,则可以从当前 HEAD 创建一个新分支
git fetch
git branch backup_of_feature_ABZ
git rebase -i origin/master # if you are rebasing onto master
# then you can just squash or pick the change you want and you keep your "backup branch"
# Which makes good sense since it is backup and you did deliver the squashed commit.
Run Code Online (Sandbox Code Playgroud)
我希望我正确理解你的问题