在 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 保持干净。

相关推荐
阿成学长_Cain3 分钟前
Linux talk 命令详解:经典终端实时聊天工具,无需图形界面即可对话
linux·运维·前端
lichenyang45315 分钟前
从零开始写 HarmonyOS Web 容器:先让 ArkWeb 加载本地 H5
前端
kyriewen22 分钟前
一个看不见的撇号,让Claude Code追踪了中国开发者三个月
前端·ai编程·claude
莫生灬灬27 分钟前
DY联系人聊天Web面板支持获取联系人/聊天记录/发送消息
前端·chrome·websocket·c#
郑州光合科技余经理35 分钟前
海外外卖平台源码改造实战——多语言核心代码实现
java·开发语言·前端·后端·mysql·架构·php
一tiao咸鱼1 小时前
前端转 agent # 02 - FastAPI 框架入门与原理
前端·python
wanghowie1 小时前
LangGraph4j 落地(二)— ReAct 多步工具与 trace 扩展
前端·react.js·前端框架
大家的林语冰1 小时前
Rust 再次打败 Go,Astro 7 首发,什么叫“万物皆可锈化“!
前端·javascript·性能优化
lichenyang4531 小时前
H5 如何调用 ArkTS:JavaScriptProxy、requestId 和 Promise 回调
前端
lichenyang4531 小时前
我在 HarmonyOS 上写了一个轻量级小程序运行时:从 Web 容器到 JSBridge
前端