想要从 git 中的分支中删除所有提交

Want to delete all commits from a branch in git

我搞砸了我的分支,我现在想删除它的所有提交,而不删除分支本身。 git 有什么办法可以做到吗?

有几种方法,但最简单的是将其重置为您喜欢的状态,在这种情况下,听起来您想将其重置为与 master 完全一样。

git reset --hard origin/master

这将强制分支指针指向与 origin/master 相同的提交,并确保工作副本与该提交相同。

假设您的分支是在 master 中创建的,情况如下:

A---B---C <<< master
         \
          \
           D---E <<< your-branch

您可以在需要时重新创建分支

# if your-branch is currently checked out, just
git reset --hard master

# or alternatively, if another branch is currently checked out
git checkout -B your-branch master

造成这种情况

    A---B---C <<< master, your-branch
             \
              \
               D---E <<< candidates for garbage collection