1.问题
我在本地修改过 一些代码
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
可是我现在不想提交本地的修改。
2.解决
- 可以先执行 git stash 将本地修改保存起来。 这样本地就干净了。
- 然后 git pull
- 然后应用 stash。 执行 git stash apply 0。
- 最后解决本地的冲突就好了。
3.原理
git stash 命令是储藏命令。
- 可以用来储藏工作的中间状态,
- 也可以将储藏好的中间状态应用到现有的工作中。
主要的命令有
-
git stash
当本地有修改的时候,只要运行git stash 就可以将本地的更改储藏起来。 -
git stash list
可以用来查看储藏起来的状态。如下
stash@{0}: WIP on master: ece766d package struct
-
git stash apply
可以用来应用储藏的状态。比如 git stash apply 0 就会应用储藏id为0 的中间状态。
网友评论