问题:

我在本地修改过 README.md
git pull 时发现报错:
Your local changes to the following files would be overwritten by merge: README.md.
Please commit your changes or stash them before you merge

可是我现在不想提交本地的修改。

解决

  1. 可以先执行git stash 将本地修改保存起来。 这样本地就干净了。
  2. 然后 git pull
  3. 然后应用stash。 执行 git stash apply 0
  4. 解决本地的冲突就好了。

原理

git stash 命令是储藏命令。
1. 可以用来储藏工作的中间状态,
2. 也可以将储藏好的中间状态应用到现有的工作中。
主要的命令有
1. git stash
当本地有修改的时候,只要运行git stash 就可以将本地的更改储藏起来。
2. git stash list
可以用来查看储藏起来的状态。如下
stash@{0}: WIP on master: ece766d package struct
3. git stash apply
可以用来应用储藏的状态。比如 git stash apply 0 就会应用储藏id为0 的中间状态。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐