You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Git技术问题:未提交变更时如何切换到历史提交版本?

Git Stash 完全适用你的场景
  • Git Stash 就是干这个的:它专门用来临时保存你当前工作区和暂存区的未提交变更,让工作区回到干净状态,这样你就能顺利切换到任意历史提交版本,不会触发冲突提示。

  • 具体操作步骤:

    1. 保存当前变更:
      执行 git stash 即可快速保存;如果怕之后分不清stash内容,可以加备注:git stash save "正在开发XX功能的临时变更"
    2. 切换到历史提交:
      用 git checkout <提交哈希值> 切换到目标历史版本,此时工作区是干净的,可正常操作
    3. 切回原分支/HEAD:
      执行 git checkout <你的原分支名>(比如git checkout main)回到原来的工作分支
    4. 恢复之前的变更:
      用 git stash pop 会把最近一次保存的变更恢复到工作区,同时自动删除该stash记录;如果想保留stash记录,就用 git stash apply,之后手动用 git stash drop 删除指定的stash
  • 关于变更完整性:
    恢复后,你之前工作区未完成的代码、暂存区已add的变更都会完整还原,继续开发后提交,最终的提交会包含所有这些内容,完全不会丢失。

  • 额外提示:如果保存了多个stash,可以用 git stash list 查看所有记录,用 git stash apply stash@{n}(n是列表里的序号,从0开始)恢复指定的stash。

内容的提问来源于stack exchange,提问作者gkeenley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:47:03