Git恢复合并后隐藏的更改--无ff

Git恢复合并后隐藏的更改--无ff,git,git-merge,git-stash,git-reset,Git,Git Merge,Git Stash,Git Reset,我经常使用“git stash”和“git stash pop”来保存和恢复工作树中的更改。这就是我所做的,我以前未提交的更改现在已经不存在了 git stash -u git checkout master git pull --rebase git checkout dev git merge --no-ff master 10 files changed, 1000 insertions(+), 2000 deletions(-) git stash pop CONFLICT (cont

我经常使用“git stash”和“git stash pop”来保存和恢复工作树中的更改。这就是我所做的,我以前未提交的更改现在已经不存在了

git stash -u
git checkout master
git pull --rebase
git checkout dev
git merge --no-ff master
10 files changed, 1000 insertions(+), 2000 deletions(-)
git stash pop 
CONFLICT (content): Merge conflict in file.ext
然后我想我可以恢复合并,我做到了:

git reset --hard origin/master
git reset --hard origin/master

现在,我在
file.ext
中的任何地方都看不到我以前隐藏的未提交的更改,只有合并的代码。如何恢复我原来保存的所有更改?

当您从
隐藏中弹出
时,它也会将其从
隐藏中删除。因此,隐藏的更改被转储回您的工作目录。然后,当您重置时,您恢复了相同的更改

git reset--hard
是为数不多的危险的“您可能会在这里完全失去工作”命令之一。很好地解释了
reset
的不同方面


总之,它们不再位于
隐藏
中,您可以
重置
工作目录。因此,它们很可能被比特和字节组成的以太丢失了。虽然这些更改曾经被隐藏,但是当您从
隐藏
中弹出
时,您可能可以使用
git fsck--lost-found
找到提交,它也会将其从
隐藏
中删除。因此,隐藏的更改被转储回您的工作目录。然后,当您重置时,您恢复了相同的更改

git reset--hard
是为数不多的危险的“您可能会在这里完全失去工作”命令之一。很好地解释了
reset
的不同方面

总之,它们不再位于
隐藏
中,您可以
重置
工作目录。因此,它们很可能被比特和字节组成的以太丢失了。虽然这些更改曾经被隐藏,但是您可能可以使用git fsck--lost-found找到提交