在 git 中,如何将分支变基为 master

In git, how to rebase branch to master

我有new_branch和师父

大部分优秀工作已在 new_branch 中完成。 然后有人在检查 master 时犯了一些错误。

我现在不想合并 new_branch 到 master 因为它太乱了。

有没有办法强制变基 new_branch 成为主人。

意思是,我希望new_branch成为master,忽略master所做的一切。

如果你想保留 master 的历史,你可以在 master 上重新提交。提交使 master 具有与 new_branch 相同的代码。这样,您就不需要 force-push.

git checkout master
git fetch origin master
git reset FETCH_HEAD --hard
git merge $(git commit-tree -p HEAD -m "foo" new_branch^{tree})
git push origin master

如果您不想保留 master 的历史记录,可以将 master 重置为 new_branch 和 force-push 以覆盖远程存储库中的 master。

git checkout master
git reset new_branch --hard
git push origin -f master