Git与隐藏流行音乐的混淆

Git与隐藏流行音乐的混淆,git,git-flow,Git,Git Flow,我现在遇到了一些问题,我正在使用git flow并创建了一个名为feature/newbranch的特性,我正在开发。我想把我的更改保存到feature/newbranch,所以我想我所要做的就是: git stash (in develop) git checkout 'feature/newbranch' git stash pop 这给我的新农场带来了变化,但当我开始发展时 git checkout develop 我所有的零钱都还在那里 我做错什么了吗?未提交的更改只存在于工作目录

我现在遇到了一些问题,我正在使用git flow并创建了一个名为
feature/newbranch
的特性,我正在开发。我想把我的更改保存到
feature/newbranch
,所以我想我所要做的就是:

git stash  (in develop)
git checkout 'feature/newbranch'
git stash pop
这给我的新农场带来了变化,但当我开始发展时

git checkout develop
我所有的零钱都还在那里


我做错什么了吗?

未提交的更改只存在于工作目录中,并且没有绑定到特定的分支。
如果要将隐藏的更改应用于分支,请使用
git stash apply
而不是git stash pop
git stash pop
将自动放弃最近的隐藏,而git stash apply仅应用它,而不删除它。

否,
git stash pop
仅尝试应用上次保存的补丁/更改
git stash
。它不会提交对当前分支的任何更改。若你们弄脏了你们的工作树,即使你们切换了分支,它也会保持脏。有时你甚至无法切换树枝,因为一棵肮脏的工作树


要在切换分支之前清理当前工作树,您应该执行git reset--hard

在提交分支之前,不会将任何内容放入分支。您在这里所做的是将存储的内容放入工作树中


你们应该通过阅读以下问题的最上面的答案得到更好的答案:

好的,谢谢,我想这完全有道理。我基本上没有提交文件,否则如果我需要切换回开发,它会起作用吗?是的,您已经提交了,这将在开发中创建一个新的提交,允许切换到
feature/newbranch
的最后一次提交,谢谢,这很有意义,但我对pop vs apply没有问题。我只需要提交我的更改。我想我对git的理解比我想象的要少。@mkral:你写道,你只想把它们藏起来,而不是把它们交出来。如果您想保留隐藏,就不要运行
git stash pop
命令。我遗漏了什么吗?不,你说得对。我强调了
没有提交
,这句话的措辞很糟糕。然而,由于我对git的误解,这并不是我想要的。我将编辑该问题以排除该位。抱歉误会了。是的,谢谢,我好像就是在这里误会了它的工作原理。我以前很幸运,总是在不了解工作树的情况下做出承诺。非常感谢。