【问题标题】:Git with Visual Studio 2013带有 Visual Studio 2013 的 Git
【发布时间】:2014-10-16 09:32:22
【问题描述】:

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

我已将一个网站项目提交到我的存储库的主分支。我在 master 下创建了一个名为“stage2”的分支。目的是 master 将用于维护现有的实时站点,而“stage2”将用于下一个版本的开发,但在开发完成之前不希望包含在任何已发布的构建中。但是,当有未提交的更改时,我无法从“stage2”切换回主控。我想我可能会误解 git 分支应该如何使用。谁能帮我解决这个问题?

谢谢

【问题讨论】:

    标签: git visual-studio visual-studio-2013


    【解决方案1】:

    听起来你已经对分支的基本概念有了正确的认识,但是你对提交并不熟悉。我建议您阅读 this introduction to git 之类的内容,尝试对它的工作原理有一个基本的了解。

    要回答您的具体问题,您需要一个干净的工作树,然后才能签出另一个分支。这基本上意味着你需要在做任何其他事情之前告诉 git 如何处理你的“正在进行的”工作。假设您不想丢弃您的更改,您可以为您的更改创建一个commit(或多个提交),或者为以后创建stash 它们。如果您所做的更改是完成的“部分”工作,而不仅仅是正在进行的临时工作,那么我建议您为您所做的每一项工作进行提交。

    【讨论】:

      【解决方案2】:

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

      看来你有几个选择:

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

      你的概念是正确的;一个功能分支用于“做一些工作”,[通常]有几个提交。提交既便宜又容易,如果您愿意,您可以随时使用 Rebase 来压缩嘈杂的历史记录。分支轻巧且便宜,因此鼓励您使用它们。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-28
        • 2014-12-04
        • 2013-12-04
        • 1970-01-01
        • 1970-01-01
        • 2014-06-21
        相关资源
        最近更新 更多