0

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

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

现在消息(git status)说我可以“隐藏”这些更改。所以我做了。在“约翰”分支签出。他们现在已经从每个分支中消失了。

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

4

1 回答 1

0

更改分支时,未提交的更改会与您一起移动。如果这不是您想要的,您必须将它们提交到某个地方。stash 是这个特殊的地方/分支,您可以在其中从每个分支提交(但它与每个真正的分支是分开的)。因此,如果您存储更改,它们将不再位于当前分支中,并且在更改分支时不会出现。它们只在藏匿处。要将它们取回,请移至您想要拥有它们并执行的分支,git stash pop更改将出现在您的工作目录中(不是作为提交,而是作为更改的文件),并且存储中的条目将被删除。

nbstash apply获取更改并且不删除存储条目。

于 2013-07-26T11:28:20.397 回答