使分支成为 Git 回购的新主人的正确方法是什么?

What is the right way to make a branch the new master of a Git repo?

我有一个存储库在 master 分支上进入了不需要的方向,我现在想复制存储库,将 master 分支恢复到它转向的地方,这是一个单独的分支。

会不会是删除当前master分支,重命名我想要的分支master

我还想保留新主分支中的所有历史记录,但从创建新分支的点开始删除对所有其他分支的所有后续更改,就好像它始终是主分支一样,以及所有其他不通向新主分支的分支。

您可以将当前分支签出到新分支

git checkout -b <new_name>

撤消更改

您有多种方法可以撤消更改:

git revert

  • git revert commit1 commit2 commit3 ...
    这将恢复[撤消]所有不需要的提交。

git reflog

  • 找出您希望保留的 lats 提交,然后检查它并从此 poing 创建分支

    git reflog - find the sha1
    git checkout -b <commit id>
    # or
    git reset HEAD --hard <commit id>
    

git reset

  • 与上面相同 - 如果您知道,只需重置为上次所需的提交即可。

现在您在新分支中有了最后一个所需的提交,您可以决定如何处理它。