Git 如何实现我在当前分支中的更改不会在所有分支中传播?

Git 如何实现我在当前分支中的更改不会在所有分支中传播?,git,branch,Git,Branch,尽管我以前使用过一些版本控制系统,但我仍然对git有点困惑。我的问题是关于分支的。我的理解是,当我想开发一些功能,但我不确定结果时,我会在branch中这样做。为了实现这一点,我将从master创建分支“srbac”(正如我所做的那样)。然后我检查了srbac,所以它是我的工作副本。我做了一些改变 现在,我的同事向我发送了一个请求,所以我创建了一个名为“john”的分支,并将他的更改拉到此分支。我制作了那个分支的工作副本,并试图将其拉到本地存储库中。但这不起作用,因为正如SourceTree应用

尽管我以前使用过一些版本控制系统,但我仍然对git有点困惑。我的问题是关于分支的。我的理解是,当我想开发一些功能,但我不确定结果时,我会在branch中这样做。为了实现这一点,我将从master创建分支“srbac”(正如我所做的那样)。然后我检查了srbac,所以它是我的工作副本。我做了一些改变

现在,我的同事向我发送了一个请求,所以我创建了一个名为“john”的分支,并将他的更改拉到此分支。我制作了那个分支的工作副本,并试图将其拉到本地存储库中。但这不起作用,因为正如SourceTree应用程序(我在git中使用该应用程序)所说,我的本地存储库中有一些未提交的更改。但这些都是来自“srbac”分支!这些不应该出现在“约翰”分支中,也不应该出现在“大师”分支中(那些也在那里)

现在消息(git状态)说我可以“隐藏”这些更改。所以我做了。在《约翰》中,布兰奇退房了。它们现在从每一个分支都消失了


我错过了什么?感谢您的帮助。

更改分支时,未提交的更改会随之移动。如果这不是你想要的,你必须把它们放在某个地方。隐藏是一个特殊的地方/分支,您可以从每个分支(但这与每个真正的分支是分开的)提交。因此,如果您隐藏更改,它们将不再位于当前分支中,并且在更改分支时不会显示。它们只在储藏室里。要将它们取回,请移动到您想要保存它们的分支并执行
git stash pop
,更改将显示在您的工作目录中(不是作为提交,而是作为已更改的文件),并且隐藏中的条目将被删除

n、 b.
stash apply
获取更改,不删除隐藏条目