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

使用git switch -c后,如何将修改移至新分支并恢复master分支?

解决方法:将未提交修改迁移到新分支并恢复master分支

首先要明确:用git switch -c <new-branch>或git checkout -b <new-branch>创建新分支时,Git会把当前master分支的**未提交修改(工作区/暂存区)**带到新分支里,但切回master后,这些修改不会自动消失——因为Git默认会保留工作区的未提交修改(只要没有分支切换冲突)。不过不用担心,新分支里的修改已经安全保存,你可以放心清除master上的修改。

具体步骤:

  1. 确认新分支已创建成功,切换回master分支:

    git switch master
    
  2. 根据你的修改状态选择对应操作:

    • 如果修改仅在工作区(没执行过git add):
      git restore .
      
      这个命令会将master工作区的所有文件恢复到当前HEAD(修改前)的状态。
    • 如果修改已经执行了git add(暂存区有内容):
      先清空暂存区,再恢复工作区:
      git reset HEAD .
      git restore .
      
    • 一步到位(直接重置暂存区+工作区):
      git reset --hard HEAD
      
      这个命令会强制将master分支的暂存区和工作区恢复到最近一次提交的状态,所有未提交修改都会被丢弃,但新分支里的修改不受影响,因为创建新分支时这些修改已经被复制过去了。
  3. 验证新分支的修改:
    切换回新分支确认修改还在,之后可以提交修改永久保存:

    git switch <new-branch>
    git add .
    git commit -m "迁移自master的修改"
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 19:12:32