git切换分支--Your local changes to the following files would be overwritten by checkout

翻车现场

checkout切换分支报错

error: Your Local changes to the following files would be overwritten by checkout:
xxxxxx某某文件
Please commit your changes or stash them before you switch branches.
error: The following untracked working tree files would be overwritten by checkout:
xxxxxx某某文件
Please move or remove them before you switch branches Aborting

在这里插入图片描述

**错误信息意思:**第一个error说的是下列修改的文件会在切换分支后被替换,请在切换分之前提交(commit)或者隐藏(stash)修改。第二个工作区内更改的文件未被追踪请在切换分之前移走或删除这些文件。

错误分析

第一个error是因为存在【被追踪的文件(该文件git add过或曾经git add过)】更改后没有提交。
第二个error是修改的文件没有被追踪,这个文件可能是新创建的或者是其他原因导致未追踪(可以通过git add 文件名添加追踪)

提示:追踪和未被追踪是文件的状态,可以通过git status 查看文件状态,文件状态一般分为四类【Changes not staged
for commit: → 文件没有为提交做暂存,git add后又修改文件会出现这种情况】、【untracked files: →
未跟踪,新建的文件是这个状态】、【changes to be committed: → 修改的文件已暂存,下次会提交】、【changes
but not update:→ 文件被修改并没有添加到暂存区】

解决第一个ERROR的方法

根据提示,我们就大概可以猜到解决第一个error有两种方法:
方法1、commit提交到本地仓库(提交前,先要存到暂存区)
1)通过add存到暂存区

git add .  

2)通过commit从暂存区提交到本地仓库(通过-m)

git commit -m "对本次提交的描述"

方法2、stash保存当前工作区和暂存区进度,回退到上一个 git commit 之后的状态,【未追踪文件】不会存储了解更多关于git stash的命令

git stash

需要使用的时候,使用git stash pop获取git stash存储的内容。

解决第二个ERROR的方法

方法3、clean清除未被追踪的文件
先用clean -n的命令查看一下即将被清除的文件,此时不会清除,如果有文件需要被追踪还可以使用git add 文件名添加到追踪

git clean -n

清除

git clean -f

如果对你有帮助可以点赞、收藏哦😗

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值