Git 保留主分支的最近一次提交放弃之前所有的提交
· 阅读需 1 分钟
切换到主分支: 确保你当前处于主分支
git checkout main
重置分支到最新的提交: 使用 git reset
命令将分支重置到最新的提交这里使用 --hard
选项,这将会重置工作目录和索引(暂存区)到你指定的提交
git reset --hard HEAD
删除旧的提交记录: 如果你想彻底删除除最新之外的所有提交记录,可以使用下面的步骤
警告:这将不可逆转地删除这些提交记录
git branch new-temp-branch $(git commit-tree HEAD^{tree} -m "New initial commit")
git checkout new-temp-branch
git branch -D main
git branch -m main
清理仓库: 运行垃圾回收命令来清理不再需要的对象(即旧的提交记录)
git gc --prune=now
推送变更到远程仓库: 如果你的分支是跟踪远程仓库的,你需要强制推送这些变更,覆盖之前所有的历史记录
git push origin main --force