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

发布了53 篇原创文章 · 获赞 21 · 访问量 8368

猜你喜欢

转载自blog.csdn.net/zztiger123/article/details/103734553