将另一个分支重新合并到当前分支中

时间:2021-04-12 17:46:53

标签: git

有没有一种简单的方法可以在不移动另一个分支或切换到当前分支的情况下将另一个分支变基到当前分支上?这就是 github 在拉取请求中称为“rebase and merge”的功能。

所以我希望得到与运行这些命令相同的结果(从 master 开始):

git checkout -b tmp feature
git rebase master
git checkout master
git merge --ff-only tmp
git branch -d tmp

但对我来说重要的是我实际上并没有切换到另一个分支。 feature 可能是 master 后面的许多提交,我正在处理一个巨大的 C++ 代码库。我不希望完全重建来合并只涉及两个文件的分支。

我尝试了 git cherry-pick HEAD^ feature,但是如果从 feature 提交之前精心挑选的大师,那会抱怨。另外,我更喜欢交互式 rebase 的选项,因此我可以在此步骤中更改提交消息或省略提交。

我还发现了 git merge feature --strategy=ours && git rebase HEAD^。但是创建那个无用的合并似乎很奇怪,如果我中止 rebase,我现在必须记住从我的 master 中删除合并。

如果我遗漏了一些非常基本的东西并且应该完全不同地处理这个问题:我的上下文是我正在使用 git-svn 来处理 svn 存储库。我有一个当前构建主干的工作树。我想获得我的功能分支提交,确保新状态构建,也许改进一些提交并将更改推送到 svn 存储库。

0 个答案:

没有答案