Git使用

git切换分支时,如何保存当前分支的修改(暂时不想提交)

2019-06-24  本文已影响10人  旅行者xy

有时候我们在一个分支中修改了部分文件,这时候,有个新的紧急任务,需要马上修改。一个好的想法是切换到一个新的分支,在新的分支上进行修改提交。可是这时候你使用git checkout new_branch时会提示错误信息:*

error: Your local changes to the following files would be overwritten by checkout:
config/database.php
Please commit your changes or stash them before you switch branches.

看到提示里有两种方法可以解决,第一种我们就不考虑,因为问题修改到一半,并不想现在提交。我们可以选择第二种方式,使用git stash命令。

git stash
注意,这只能暂存已经tracked的文件,即已经提交过的文件,而新加的文件则还是不能暂存成功,需要加上另一个参数:
git stash --include-untracked
或者:git stash save -u

还有一个命令:

git stash --all
可以将未被跟踪过的和忽略的文件都储存起来,这个我没去试,待验证。

git stash pop

git stash pop 后面可以加具体的stash,通过git stash list查看所有的暂存:


image.png

使用
git stash pop stash@{1}
恢复具体的暂存区内容

上一篇 下一篇

猜你喜欢

热点阅读