在 master 分支上进行了 commit 但还没有 push,怎么安全地切到新分支并保留这些更改

  1. 确保你的 commit 确实没有 push(否则会覆盖远程分支):

    复制代码
    git log --oneline             # 查看本地 commit
    git log --oneline origin/master  # 查看远程 master 的 commit

    确保你的 commit 只存在于本地,远程 origin/master 没有这些 commit。

  2. 重置 master 分支到远程最新状态(丢弃本地 commit):

    复制代码
    git fetch origin             # 确保获取远程最新状态
    git reset --hard origin/master  # 强制回退到远程 master

    ⚠️ 注意--hard 会丢弃所有未提交的更改和未 push 的 commit,确保你不需要它们!

  3. 如果你想保留这些 commit,但移到新分支(推荐更安全的方式):

    复制代码
    git checkout -b new-branch   # 基于当前 commit 创建新分支
    git checkout master          # 切回 master
    git reset --hard origin/master  # 重置 master 到远程状态

    这样 commit 会保留在 new-branch,而 master 恢复干净。

总结:

  • 如果想彻底丢弃 commitgit reset --hard origin/master

  • 如果想保留 commit → 先切新分支 (git checkout -b new-branch),再重置 master

这样既不会丢失代码,又能让 master 保持干净。

相关推荐
swipe15 小时前
为什么 RAG 一定离不开向量检索:从文档向量化到语义搜索的工程实现
前端·llm·agent
OpenTiny社区16 小时前
AI-Extension:让 AI 真的「看得到、动得了」你的浏览器
前端·ai编程·mcp
IT_陈寒16 小时前
Redis缓存击穿:3个鲜为人知的防御策略,90%开发者都忽略了!
前端·人工智能·后端
农夫山泉不太甜17 小时前
Tauri v2 实战代码示例
前端
yuhaiqiang17 小时前
被 AI 忽悠后,开始怀念搜索引擎了?
前端·后端·面试
悠然大月季17 小时前
git 怎么导出提交历史,文件是乱码
git·git导出历史记录·git导出历史乱码
红色石头本尊17 小时前
1-umi-前端工程化搭建
前端
真夜17 小时前
关于对echart盒子设置百分比读取的宽高没有撑开盒子解决方案
前端
楠木68518 小时前
RAG 资料库 Demo 完整开发流程
前端·ai编程
肠胃炎18 小时前
挂载方式部署项目
服务器·前端·nginx