git branch重新建立为dev分支

时间:2020-06-03 12:27:42

标签: git

我在VS Code中使用git graph创建了3个分支。

第二个和第三个分支从第一个分支获得了我没想到的代码。

我认为每个分支都将从我的开发分支中分支出来。如何在不考虑第一个分支中的代码的情况下将后两个分支重新建立为development分支?
因此,每个分支都不会相互关联。

我试图藏起来,但我认为那不是正确的方法。

branches

1 个答案:

答案 0 :(得分:1)

免责声明git rebase重写了历史记录,请确保在执行以下命令之前已阅读并理解其手册页。备份当然可以帮助您避免混乱。


那么您想创建3个分支,每个分支应该只包含一个提交?在这种情况下,请通过--onto target base branch语法使用rebase:

git rebase --onto development branch1^ branch1
git rebase --onto development branch2^ branch2
git rebase --onto development branch3^ branch3

branch1^的意思是“在branch1的当前头之前执行一次提交。


使用Git有很多方法,所以另一种选择是:

head=$(git rev-parse branch1)
git checkout -B branch1 development
git cherry-pick "${head}"
# repeat for all 3 branches