【问题标题】:Setting up GIT branches properly for development of application正确设置 GIT 分支以开发应用程序
【发布时间】:2016-01-23 22:33:36
【问题描述】:

我从来没有担任过现在的职位,我被要求管理我们项目的 GIT 存储库。虽然我知道没有单一的“正确方法”可以做到这一点,但我得到了以下文章about the most successful git branching model

我想遵循这个工作流程,所以对于我们的项目,我们需要以下分支:

ma​​ster(包含当前在我们的生产环境中运行的代码) staging(包含当前在我们的暂存环境中运行的代码) 开发(包含始终反映状态的代码,以及为下一个版本提供的最新开发更改)

我们的流程将涉及在冲刺周期内为每个开发人员分配任务。每个开发人员将为他们的工作创建一个从 development 分支克隆的功能分支。他们将完成所需的工作,并在完成后将他们的分支合并到 development 分支。

我们正在使用在 TFS 上运行的 GIT。

我的假设(这是我需要确认的)是我应该在 TFS 中创建一个主存储库——我们称之为 JBenchView。之后,我将拥有一个 ma​​ster 分支。我现在需要在同一个存储库中创建 developmentstaging 分支。这就是导致以下问题的原因。

  1. 我的理解是否正确?
  2. 如何创建 developmentstaging 分支,以便它们显示在存储库下的 TFS 中?创建这些分支的分步过程是什么(即,我是克隆 Master,然后使用 git checkout -b branchNamema​​ster 创建一个分支,还是有更快/更简单的方法)?
  3. 真的有办法在 TFS 内创建这些分支吗?
  4. 我们尝试了一种失败的方法,似乎一位开发人员正在使用 GIT bash 创建他的功能分支,而另一位开发人员正在使用 Visual Studio 创建他的功能分支。使用 GIT bash 的开发人员创建的功能分支会显示在存储库中,但使用 Visual Studio 创建的分支不会。为什么会这样?今后如何解决?

【问题讨论】:

  • 在 Visual Studio 中创建分支的开发人员 publish 是否说过分支到 TFS 服务器?在发布分支之前,它不会显示在服务器上。我真的建议您查看 git 的不同标准分支模型,其中包括 GitHub 流或 GitFlow 工作流,它们在此处进行了概述:atlassian.com/git/tutorials/comparing-workflows
  • 您使用的是哪个 Visual Studio 版本? 2012年、2013年和2015年发布分支的步骤略有不同。VS内部的Git客户端在过去的几年里做了很多工作。

标签: git version-control tfs


【解决方案1】:

如果你想从命令行完成所有这些,你可以安装 gitflow 脚本来简化这些步骤。在 Visual Studio 中也有一个扩展。

您也可以使用具有插件的 GitExtensions 来执行此操作(我写的 ;-))。

但如果你采用如此复杂的工作流程,尤其是对于新的 git 用户,请仅在需要时创建分支,并避免在此之前创建分支。

对于第四点,区别肯定是visual studio中的开发人员没有推送它新创建的分支!

PS:我不建议在visual studio中使用git,尤其是初学者,因为GUI非常混乱……

PS2:我不建议直接从 gitflow 开始,除非你真的需要它。您应该花时间了解每种分支的目标。看看 github 流程作为开始......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-14
    相关资源
    最近更新 更多