如何在拉动后收回藏匿物

far*_*and 10 git github git-stash

昨天我在主分支上做了一些更改,但没有提交它们,今天我试图拉主人但是它说我必须提交或存储我的更改Please, commit your changes or stash them before you can merge. 我把它们藏起来git stash然后从主人git pull那里拉出来我现在已经做了一些改变了代码,但发现应该已经完成​​了存储,我不得不提交更改.现在我该怎么做才能拥有

1)从藏匿的变化

2)我得到了什么 git pull

3)和我目前的变化

我在这里发现了这篇文章,但是这个人没有从主人那里撤下,所以我不确定那里的答案对我有用,并且不能真正冒险,并尝试在主人身上.

Vam*_*ire 10

只需使用git stash popgit stash apply.只要隐藏的更改不会与您提取或编辑的内容发生冲突,它就会起作用,如果不是,您会遇到一些合并冲突,您可以像进行合并或重组时那样解决这些冲突.

  • 没有任何错误信息?不可能是。它要么可以应用所有更改,要么失败并显示合并冲突等错误消息,并且不会从存储中弹出,以免丢失更改。你可以看一下`git stash list`,也许你分多个步骤隐藏了你的更改?如果有 stash,你可以像往常一样对它们进行比较,比如 `git diff stash^!` 看看里面有什么。 (3认同)

Saj*_*han 8

$ git stash list            # see stash list(s) 
$ git stash apply           # default take the top one 'stash@{0}'
$ git stash pop             # pop = apply + drop, take the top stash changes then  delete it  

$ git stash apply stash@{1} # get back number 2 stash changes
Run Code Online (Sandbox Code Playgroud)