【发布时间】:2016-01-23 22:33:36
【问题描述】:
我从来没有担任过现在的职位,我被要求管理我们项目的 GIT 存储库。虽然我知道没有单一的“正确方法”可以做到这一点,但我得到了以下文章about the most successful git branching model
我想遵循这个工作流程,所以对于我们的项目,我们需要以下分支:
master(包含当前在我们的生产环境中运行的代码) staging(包含当前在我们的暂存环境中运行的代码) 开发(包含始终反映状态的代码,以及为下一个版本提供的最新开发更改)
我们的流程将涉及在冲刺周期内为每个开发人员分配任务。每个开发人员将为他们的工作创建一个从 development 分支克隆的功能分支。他们将完成所需的工作,并在完成后将他们的分支合并到 development 分支。
我们正在使用在 TFS 上运行的 GIT。
我的假设(这是我需要确认的)是我应该在 TFS 中创建一个主存储库——我们称之为 JBenchView。之后,我将拥有一个 master 分支。我现在需要在同一个存储库中创建 development 和 staging 分支。这就是导致以下问题的原因。
- 我的理解是否正确?
- 如何创建 development 和 staging 分支,以便它们显示在存储库下的 TFS 中?创建这些分支的分步过程是什么(即,我是克隆 Master,然后使用
git checkout -b branchName从 master 创建一个分支,还是有更快/更简单的方法)? - 真的有办法在 TFS 内创建这些分支吗?
- 我们尝试了一种失败的方法,似乎一位开发人员正在使用 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