浅记一下git笔记(git回滚)

156 阅读1分钟

1. git回滚

  • 方法一: reset commit_id
  • 方法二: reset HEAD^(HEAD 是指向当前版本的指针,HEAD^ 表示上个版本,HEAD^^表示上上个版本)
  • 方法三: revert commit_id
前两方法使用相差不多,只写一些比较简单的reset HEAD^吧
  • step1: git log 查看提交命令,确认需要回滚的版本(commit_id),也可以确定要回退多少个版本
  • step2:git reset --hard HEAD^
  • step3:git commit -m '回滚'
  • step4:git push origin master --force (回滚成功)
  • step5:回到 git 代码仓库看提交,会发现想要回滚的提交已经完全看不见了,回滚成功、
git revert
  • step1: git log 查看提交命令,确认需要回滚的版本(commit_id)
  • step2:git revert commit_id
  • step3:此时vscode左侧已经看到提交还原,直接用vscode推送即可。
  • step4:git push origin master --force (回滚成功)
  • step5:回到 git 代码仓库看提交,会发现想要回滚的提交已经完全看不见了,回滚成功、

image.pngimage.png

区别
  1. reset会直接删除回滚的提交,回滚几个就删除几个,不会生成回滚的提交记录
  • 优点:1.提交记录干净,不会错乱 2.方便快捷
  • 缺点:1.没有生成回滚记录,不便于后续查找历史提交 2.需要强制提交,如果有人同时提交会覆盖,不方便多人开发
  1. revert会生成回滚记录,不需要强制推送
  • 优点:1.不需要强制推送,不会影响他人提交,利于多人开发 2.提交会比较安全
  • 缺点:1.生成回滚记录,提交记录树状图会比较繁杂