Git with Visual Studio 2013



尽管我已经使用Visual Studio进行了多年的开发,但直到最近我才需要掌握版本控制,所以如果我看起来很愚蠢,请原谅我的无知。

我已将一个网站项目提交给我的存储库的master分支。我在master下面创建了一个分支,名为"stage2"。其意图是,master将用于维护现有的实时站点,"stage2"将用于下一版本的开发,但在开发完成之前,不希望被包含在任何已发布的构建中。但是,当有未提交的更改时,我不能从"stage2"切换回master。我想我可能会误解git分支应该如何使用。有人能帮我清理一下吗?

感谢

听起来您对分支的基本概念是正确的,但对提交并不熟悉。我建议你读一下git的介绍,试着对它的工作原理有一个基本的了解。

为了解决您的特定问题,在签出另一个分支之前,您需要一个干净的工作树。这基本上意味着,在做任何其他事情之前,你需要告诉git如何处理你的"正在进行"的工作。假设你不想丢弃你的更改,你可以为你的更改创建一个提交(或多个提交),或者把它们藏起来以备以后使用。如果您所做的更改是已完成的"部分"工作,而不仅仅是正在进行的临时工作,那么我建议您对所做的每一部分工作都进行提交。

确实,当您有未提交的更改时,Git将不允许您切换分支。

看来你在这里有几个选择:

  1. 使用git reset --hard放弃当前分支中的更改
  2. 暂时用git stash存储当前状态。当您返回功能分支时,可以使用git stash pop恢复您的工作
  3. 提交此分支上的当前工作,然后切换分支

你的概念是正确的;Feature Branch用于"做一些工作",一路上[通常]有几个提交。佣金既便宜又简单,如果你愿意,你可以随时使用回扣来压制嘈杂的历史。树枝又轻又便宜,所以我们鼓励你使用它们。

最新更新