我在我的开发分支中有一些未提交的更改,我使用git stash将它们隐藏起来,但在这些隐藏的更改中有一些非常重要的更改。有什么办法能把这些改变拿回来吗?

此外,我在存储的代码文件上做了一些更改。

如果可能的话,我是否有机会将存储的更改检索到新的分支?


当前回答

你可以使用以下方法来隐藏未提交的更改:

git stash

然后使用以下命令签出到一个新的分支:

git checkout -b

然后应用存储的提交:

git stash apply

其他回答

git stash pop

一切都会恢复正常吗

正如评论中所建议的,你可以使用git的stash分支newbranch将stash应用到一个新的分支,这与运行相同:

git checkout -b newbranch
git stash pop

检查您的藏匿内容:-

Git藏匿清单

从收藏列表中应用一个特定的收藏:-

Git应用stash@{2}

或者只应用第一藏:-

Git隐藏pop

注意:git stash pop将从你的stash列表中删除stash,而git stash apply惯有。所以要相应地使用它们。

在mac上,这对我来说很管用:

Git存储列表(查看你所有的存储)

git stash list

Git stash应用(只是你想从你的stash列表的数字)

是这样的:

git stash apply 1

就像很多人说的那样,做git stash apply stash@{1}将获得当前分支的更改,我不知道为什么这对我不起作用。

对我来说,做git stash应用stashNumber工作的所有时间。

举个例子,如果我想找回1号藏匿点这就是我要做的,git藏匿应用1

PS:你可以用pop代替apply..唯一的区别是,apply不会删除隐藏,但做pop将删除stashnnumber你要弹出。

简单来说,你有两个选择来重新应用你的收藏:

git stash pop -恢复到保存状态,但它会从临时存储中删除stash。 git stash apply -恢复到保存的状态,并留下存储列表,以便以后可能重用。

您可以在本文中阅读更多关于git存储的详细信息。