git 实践中问题汇总

此篇文章将不定期更新遇到的 git 实践中遇到的问题。

1. 使用 git checkout 切换分支时报错

错误 log 如下

error: Your local changes to the following files would be overwritten by checkout:
components/bt/controller/bt.c
examples/bluetooth/bluedroid/ble/ble_ibeacon/main/ibeacon_demo.c
Please, commit your changes or stash them before you can switch branches.

从 log 提示中,我可以归纳出以下两种解决办法:
1.通过 git stash 指令
以下是 git stash 的相关操作:

git stash
git pull
git stash pop

首先我们通过 git stash 将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就我们可以正常 git pull 了,git pull 完成后,执行 git stash pop将之前本地做的修改应用到当前工作区。

注: git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。
git stash pop: 从 Git 栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个 Stash 的内容,所以用栈来管理,pop会从最近的一个 stash 中读取内容并恢复。
git stash list: 显示 Git 栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空 Git 栈。此时使用 gitg 等图形化工具会发现,原来 stash 的哪些节点都消失了。

2.直接覆盖本地修改
使用指令如下:

git reset --hard
git pull

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值