git - 改变分支基地

标签 git

我有一棵这样的树:

(commit 1) - master
                \-- (commit 2) - (commit 3) - demo
                                                \-- (commit 4) - (commit 5) - PRO

而且我必须将 PRO 分支移动到 master

(commit 1) - master
                |-- (commit 2) - (commit 3) - demo
                \-- (commit 4) - (commit 5) - PRO

我尝试了 PRO 分支的 git rebase master,但没有任何反应。

澄清一下:我在 master 工作,然后我不得不制作一个产品演示(git checkout -b demo 和一些提交)。然后,我错误地从 demo 创建了另一个分支(git checkout -b PRO 和一些提交),现在我需要将 PRO 分支移动到 master 并保持 demo 不变。最后,demo 和 PRO 都会卡在 master 上。

最佳答案

假设newBase是您要将提交移至的分支,oldBase是你分支的旧基础,你可以使用 --onto 为此:

git rebase --onto newBase oldBase feature/branch

鉴于您的情况:

git checkout PRO # Just to be clear which branch to be on.
git rebase --onto master demo PRO

基本上,您获取了 demo 之后的所有提交直至并包括 PRO , 并将它们 rebase 到 master提交。

关于git - 改变分支基地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853935/

相关文章:

git - 当我使用参数化分支 : fatal: Couldn't find remote ref refs/heads/${BUILD_BRANCH} 时,Jenkins 无法构建

git - 如何完全清除git存储库而不删除它

git - 从 github 的特定分支使用 pip 安装包

git - Git 使用的术语

bash - 使用 Bash 将 .gitmodules 转换为可解析的迭代格式

git checkout 。添加稀疏 checkout 排除的目录

git - 如果 Git Stash 保存了 Diff,那么为什么不能将其应用到不同的分支呢?

c# - 当我尝试将我的代码添加到 GitHub 上的存储库时,出现类似 "Failed to push to the remote repositor..."的错误

git - 对 public_html 目录使用主分支克隆

git - 重写 git 历史后替换 Prod Repo?