如何从分支历史记录中删除提交?我应该使用git reset-hard HEAD吗?


当前回答

要在本地分支中删除,请使用

git reset --hard HEAD~1

要在远程分支中删除,请使用

git push origin HEAD --force

其他回答

这里有30多个回答者,我将简单介绍适合我的答案

删除.git文件夹可能会导致git存储库出现问题。如果您希望删除所有提交历史记录,但将代码保持在当前状态,则可以按照以下方式进行操作:

结账

git checkout --orphan latest_branch

添加所有文件

git add -A

提交更改

git commit -m "commit message"

删除分支

git branch -D master

将当前分支重命名为主分支

git branch -m master

最后,强制更新存储库

git push -f origin master

PS:这不会保留您以前的提交历史。

使用git还原https://git-scm.com/docs/git-revert。它将还原所有代码,然后您可以进行下一次提交。然后head将指向上一次提交的代码。还原的提交不会删除,但不会影响您上次提交。

在本地分支上重置

git reset --hard HEAD~<Number of commit> So git reset --hard HEAD~3

强制推至原点

git push -f origin
git reset --hard commitId

git push <origin> <branch> --force

PS:CommitId指的是要还原回的那个

git重置--硬

git推原点HEAD—力

如果一个或多个提交被标记,请首先删除标记。否则,标记的提交不会被删除。