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

如何检出/切换远程分支创建本地副本同时丢弃本地修改?

问题原因

Git 切换分支时默认会保留本地未提交的修改,如果待切换的目标分支上存在和本地修改文件同名的内容,就会触发报错,你收到的报错翻译如下:

错误:您对以下文件的本地修改会被检出操作覆盖:
my_local_file.txt
请在切换分支前提交或暂存这些修改。

如果你确认要直接丢弃当前分支的所有未提交修改,不需要暂存,可以用以下两种方案操作:

解决方案

方案1:单命令直接完成操作

直接在git switch命令中添加--discard-changes参数,即可跳过修改检查、直接丢弃当前未提交内容,同时创建并切换到和远程分支绑定的本地副本:

git switch --discard-changes -c fix/my_branch origin-http/fix/my_branch

方案2:先清理修改再切换分支

如果你需要先确认要丢弃的修改内容,可先执行清理命令,再运行你原本的切换命令:

  • 第一步:永久丢弃当前工作区所有未提交的修改
    git reset --hard HEAD
    
  • 第二步:创建并切换到对应远程分支的本地副本
    git switch -c fix/my_branch origin-http/fix/my_branch
    

注意事项

  • 上述两种方案都会永久删除当前分支的所有未提交修改,确认不需要保留这些修改后再执行操作
  • 不要用sudo执行普通Git操作,会修改本地仓库的文件权限,后续容易出现读写/同步报错
  • 执行上述命令后,你创建的本地fix/my_branch已经自动和远程origin-http/fix/my_branch绑定追踪关系,后续需要同步远程最新内容时,直接在该分支执行git pull即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:36:03