Git-强制变基

时间:2019-07-30 18:38:28

标签: git rebase

我的情况是我的主分支位于另一个分支之后。我想或多或少地消灭旧的大师,而让另一个分支本质上是新的大师。

我是唯一从事此项目的人,而旧的主管与新分支/当前分支几乎没有共同之处。

3 个答案:

答案 0 :(得分:2)

如果您根本不关心旧历史:

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

答案 1 :(得分:1)

如果是这样,最简单的方法可能就是移动引用:

git branch -f master <nameOfTheUpToDateBranch>

doc

答案 2 :(得分:1)

这可以通过两种非常简单的方法来实现。要么:

  git checkout master
  git reset --hard my-branch

或在不是master分支的任何其他分支中:

  git branch -f master my-branch