Git - 强制变基
Git - force a rebase
我有一种情况,我的主分支远远落后于另一个分支。我想简单地或多或少地抹杀旧主人,让另一个分支本质上成为一个新主人。
只有我一个人在做这个项目,老主子和new/current分支没有什么共同点。
如果是这样,最简单的方法可能就是移动引用:
git branch -f master <nameOfTheUpToDateBranch>
(doc)
如果你根本不关心旧历史:
git checkout master
git reset --hard the-other-branch-i-want-as-master
这将删除您在工作树周围所做的所有更改,因此请小心使用....如果您想要的是一个新的修订版,您将工作树设置为旧主人的新修订版:
git checkout the-other-branch --detach
git reset --soft master
git commit -m "Single change to move old master to a new position where I want it"
git branch -f master
git checkout master
这可以通过两种非常简单的方法来实现。或者:
git checkout master
git reset --hard my-branch
或在不是主分支的任何其他分支中:
git branch -f master my-branch
我有一种情况,我的主分支远远落后于另一个分支。我想简单地或多或少地抹杀旧主人,让另一个分支本质上成为一个新主人。
只有我一个人在做这个项目,老主子和new/current分支没有什么共同点。
如果是这样,最简单的方法可能就是移动引用:
git branch -f master <nameOfTheUpToDateBranch>
(doc)
如果你根本不关心旧历史:
git checkout master
git reset --hard the-other-branch-i-want-as-master
这将删除您在工作树周围所做的所有更改,因此请小心使用....如果您想要的是一个新的修订版,您将工作树设置为旧主人的新修订版:
git checkout the-other-branch --detach
git reset --soft master
git commit -m "Single change to move old master to a new position where I want it"
git branch -f master
git checkout master
这可以通过两种非常简单的方法来实现。或者:
git checkout master
git reset --hard my-branch
或在不是主分支的任何其他分支中:
git branch -f master my-branch