查看指定版本

先执行命令查看这个提交是否存在:

      git log  # 找到你要的commit
    

或者简写:

      git log --oneline
    

方案 1:安全回退(推荐,不会丢失新代码)

适用场景:只是临时切回旧版本查看、测试,之后还能切回最新代码。

      git checkout df731567225e0b005aa5564141b1f6d9db0e64d3
    

执行后,你的代码立刻变成该提交的状态

切回最新版命令

      git checkout main  # 或者你的分支名,如 master、dev
    

✅ 优点:安全、无风险、可随时切回最新版

方案 2:强制重置(彻底回退,会删除后续提交)

适用场景:确定要放弃所有比这个提交新的代码,永久回到这个版本。

① 本地强制重置

      git reset --hard df731567225e0b005aa5564141b1f6d9db0e64d3
    

执行后:本地代码直接回到该版本,之后的提交全部删除

② 如果你需要同步到远程仓库(谨慎!)

      git push -f origin 你的分支名
    

快速判断用哪个

  • 只想临时看看 / 测试 → 用 git checkout
  • 永久回退、不要新代码 → 用 git reset --hard

有未提交的代码

如果你本地有未保存的代码修改,Git 怕切换版本把你的改动覆盖掉,所以阻止了你。

我给你3 种最安全的解决方法,你按自己的需求选一个直接用:

方法 1:临时保存修改(推荐,最安全)

如果你不想提交,只是想暂时把改动存起来,切回旧版本:

      git stash
    

然后再执行你原本的命令:

      git checkout df731567225e0b005aa5564141b1f6d9db0e64d3
    

✅ 等你切回最新版本后,想恢复刚才的改动:

      git stash pop
    

方法 2:直接提交本地修改

如果你想保留这些改动,直接提交:

      git add .
git commit -m "保存当前修改"
    

然后再切版本:

      git checkout df731567225e0b005aa5564141b1f6d9db0e64d3
    

方法 3:强制丢弃本地修改(谨慎!)

如果你确定不要当前的改动,直接丢弃:

      git checkout .
    

然后再切版本:

      git checkout df731567225e0b005aa5564141b1f6d9db0e64d3
    

快速选择

  • 保留修改 → 用 方法 1(git stash)
  • 提交修改 → 用 方法 2
  • 扔掉修改 → 用 方法 3

执行完后,你就能成功切到目标版本了!

声明

作者: liyao

版权:本博客所有文章除特别声明外,均采用CCBY-NC-SA4.O许可协议。转载请注明!