GIT错误push,回滚的两种方式

开源 0

1.使用 git reset 命令来回滚 commit。但是需要注意的是,git reset 命令将会重写分支历史记录,因此使用时需要谨慎。

如果你想要撤销上一个 commit,可以使用以下命令:

git reset HEAD~1

这将会回滚上一次提交并将更改放回暂存区,你可以再次对代码进行修改后重新提交。如果你想要彻底删除该 commit,并且你没有推送到远程仓库,则可以使用以下命令:

git reset --hard HEAD~1

这将会撤销上一个提交并将代码恢复到上一个提交之前的状态。请注意,这个命令不仅会删除最新的 commit,还会删除 commit 之后的所有更改,因此在使用时应特别小心。如果你已经将 commit 推送到远程仓库,则需要使用

git push --force 

命令强制推送修改后的分支。

2.如果你在 git push 之后发现了问题,可以使用 git revert 命令来撤销 commit。

首先,查找你想要回滚的 commit 的哈希值,可以使用 git log 命令:

git log --oneline
这将列出最近的几个 commit 和它们的哈希值。

然后,使用 git revert 命令来撤销该 commit。例如,如果你想要撤销最近的 commit,可以运行:

git revert HEAD
如果你想要撤销其他 commit,可以将其哈希值替换为 HEAD。

Git 将会打开一个文本编辑器,让你输入一些有关这个新 commit 的信息。确保写下一个清晰的撤销信息,以便以后跟踪修改历史。

保存并关闭编辑器后,Git 将会创建一个新的 commit,撤销你指定的 commit,并将其添加到分支上。这个新 commit 包含对文件的更改,以恢复它们至它们在先前 commit 中的状态。

最后,运行 git push 命令,将 commit 推送到远程仓库:

git push origin <branch-name>
其中,“<branch-name>”是你要推送的分支的名称。

请注意,git revert 命令将会创建一个新的 commit,这意味着你正在更改分支历史记录。因此,如果你共享了你的分支或合并请求,则其他人可能会遇到问题。如果你想要回滚远程仓库中的 commit,则需要使用 git push --force 命令强制推送修改后的分支。

强制推送修改后的分支,风险很大,要谨慎使用

git push -f

如果没有push,建议使用git reset.
已经push了,用revert.

也许您对下面的内容还感兴趣: