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

Visual Studio 2019与Git Bash切换分支时遇GitCheckoutConflictException及未跟踪文件覆盖错误求助

解决Git切换分支时未跟踪文件覆盖冲突的问题

嘿,这个问题我之前也碰到过,本质是你的工作区里存在一些Git未跟踪的文件,而你要切换的目标分支里已经有同名文件了——Git怕你不小心丢失这些未跟踪的内容,所以直接阻止了分支切换操作,不管是用VS还是Git Bash都会触发这个问题,重启VS当然解决不了啦。给你几个实用的解决办法,根据你的需求选就行:

办法一:直接删除不需要的未跟踪文件

如果这些提示的未跟踪文件对你没用,直接清理掉就好:

  • 打开Git Bash,执行命令:
    git clean -fd
    

    注意:-f是强制删除未跟踪文件,-d会连带删除未跟踪的文件夹,执行前一定要仔细核对错误提示里的文件名列表,确认这些文件确实不需要保留!

办法二:暂时保存未跟踪文件,切换后再恢复

要是你还需要这些未跟踪文件,可以用Git的 stash 功能把它们临时存起来:

  1. 在Git Bash里执行,把未跟踪文件也加入 stash:
    git stash push -u
    
    (-u参数是关键,它会让stash包含未跟踪的文件,默认stash只跟踪已修改的文件)
  2. 现在可以正常切换分支了:
    git checkout branchname
    
  3. 之后如果需要恢复之前的未跟踪文件,执行:
    git stash pop
    

办法三:手动迁移文件后再切换分支

如果你不想用Git命令操作,也可以手动处理:

  • 找到错误提示里的那些未跟踪文件,复制到Git工作区以外的位置(比如桌面、临时文件夹)
  • 执行git checkout branchname完成分支切换
  • 切换成功后,再把复制出去的文件移回来,按需处理(比如合并内容、重新命名等)

内容的提问来源于stack exchange,提问作者The Inquisitive Coder

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 09:58:14