1、撤销提交
如果需要撤销上一次的提交,只是提交到了本地,可以通过命令:
// 撤销最近的提交(保留修改)
git reset --soft HEAD~1
这个操作可以保留之前的提交和当前的修改。最近一次的提交到本地的修改的提交会回到暂存区,而当前的修改不会动。推荐用这个。
另外:
撤销最近修改(不保留修改)
// 上一次提交的内容和本地的修改全部丢弃
git reset --hard HEAD~1
2、回退到指定版本
# 会创建一个新的提交,而不是撤销之前的提交(未提交的修改,最好提交或暂存,不然容易发生冲突)
git revert <commit-hash>
3、交互式回滚
# 不确定要回滚哪些提交,可以使用交互式回滚 (N是你想要回溯的提交数量)
git rebase -i HEAD~N
注意:
在使用 reset 或 rebase 命令时要注意,因为这些操作会改变历史记录。如果代码已经被推送到远程仓库,需要在同伴同意的情况下再使用这些命令,因为这可能会对其他人的工作造成影响。在这种情况下,使用 revert 命令通常是更安全的选择,因为它不会改变历史记录,而是添加一个新的提交来撤销更改。