- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的项目设计分支和合并策略(我们使用 TFS)。项目计划有多个发布版本。目前我们正在测试 v1.0alpha 并在 v2.0 中工作
计划是:
我们将尝试强制将旧客户端升级到最新版本,但由于项目和市场的性质,客户端升级可能需要数月(数年?)。
我们想使用标准的 gitflow,但似乎更适合使用单一版本。我设计了一个简化的gitflow:
方法是:
所以我的问题按重要性排序是:
最佳答案
您可以考虑的一些事项:
a) “最小惊喜原则”:尽量保持接近标准。这意味着您 i) 将开发人员指向网络上可用的文档,而不是将所有内容都写下来 ii) 让新开发人员更容易进入或只是使用您的项目。因此,你应该保留 master 分支,不是因为它是必需的——它不是,而是因为当它不存在时它可能会让人们感到困惑,而且你将不得不在未来几年解释这一点。git 中的分支“只是”名称(好吧,多一点,但你明白我的意思),所以将它们命名为相同的唯一原因是约定 - 让人们更容易。
b) 有多少开发人员在从事这些项目?如果有很多,可以考虑将Dev分支作为集成分支,将master分支作为稳定分支。拥有一个允许不稳定的开发分支可能会解决许多开发人员的许多问题。两个团队提交,一个来自功能,一个来自修补程序,构建变红,团队互相指责,第三个团队试图推出一个新的发布分支,但不能。拥有一个稳定的、始终绿色的构建主分支,您甚至可以通过拉取请求来保护它,这非常好,并且可以营造更轻松的环境。
2) 基本 Gitflow 以发布为中心,所以不完全是。您同时拥有多个版本。所以你快到了,但是标准工具,比如 [Jakob Ehn 的] ( https://github.com/jakobehn ) Gitflow extention to Visual Studio - 这太棒了 - 会让你在被允许打开一个新版本之前尝试关闭一个版本。让 Jakob 放松一下,该工具将为您工作。否则,只需遵循惯例,但手动执行 - 这也有效。
3) 请参阅上面关于 master 的第 1 点以及为什么没有它可能不是一个好主意。但是当然,您可以将发布分支视为某种大师,但在您的描述中它们并不是那样的。如果是这样,哪个才是真正的大师,您从中创建功能分支的那个,以及您认为是最新的那个?有一个稳定的主人可以解决很多没有的问题。
4) Dev 或 Develop,那么 features 应该有一个尽可能接近其功能的名称,例如 Dev/NewHelpPage 或 Feature/NewHelpPage(更接近 gitflow 约定)。发布分支,看起来你已经遵循语义版本控制(http://semver.org)原则,那么为什么不使用它:Release/V1.0、Release/V1.1 等等。然后一个修补程序分支是 Release/V1.0.1 。
命名应该让开发人员很容易理解它是什么,最好不需要问周围的任何人。
保持简单,尽可能遵循惯例,它往往会奏效。 Git 本身几乎适用于任何分支方案。
[编辑]刚刚与 Jakob 进行了快速交谈,他说他有支持支持分支机构的请求,这可能是您真正想要的。他还指着this excellent post在不同的 gitflow 场景中,底部有支持分支的流程。
关于tfs - 一个项目的多个发布版本的 Gitflow 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38129366/
作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林。 今天跟大家聊聊,常见的缓存更新策略。 Cache Aside(旁路缓存)策略; Rea
我使用 git 多年,最近为了一个项目改用 mercurial。在过去的 6 个月里,我已经学会了如何通过命令行很好地使用 Mercurial。 这可能是我的想象,但在我看来,mercurial 在
这个问题适合任何熟悉的人 Node.js express Passport 带有 Passport 的 JWT 身份验证(JSON Web token ) Facebook OAuth2.0 或谷歌
在 Coq 中,当试图证明记录的相等性时,是否有一种策略可以将其分解为所有字段的相等性?例如, Record R := {x:nat;y:nat}. Variables a b c d : nat.
我正在处理的项目目前只有一个 Bootstrap 文件,用于初始化应用程序中的所有 javascript 对象。类似于下面的代码 if(document.getElementById('nav'))
我正在考虑使用 OpenLDAP 在首次登录时添加密码到期和强制更改密码。 似乎使用 ppolicy 覆盖来实现这一点。 当我在 ppolicy.schema 中看到这个时,我开始使用 ppolicy
这基本上是我昨天问的一个问题的重新陈述,因为我得到的一个答案似乎没有理解我的问题,所以我一定是不清楚。我的错。 因为 WPF 依赖于 DirectX,所以它对卡和驱动程序的内部非常敏感。我有一个案例,
我是单点登录(SSO)概念的新手。我开始知道 SAML 请求和响应是实现 SSO 流程的最佳方式。然后我开始阅读有关 SAML2.0 的信息。我来了一个术语 NameIdPolicy 在 saml1.
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 9 年前。 Improv
在 Azure 上创建新的 SQL 数据库时,它将“计算+存储”选项设置为“2 vCore + 32GB 数据最大大小”作为默认配置,但我不想使用 vCore,我可以更改它。但问题是,是否可以通过策略
我希望创建一项策略,防止在未启用身份验证的情况下创建应用服务(仅审核它们是不够的)。 以下策略可以正确识别未启用身份验证的现有资源: { "mode": "All", "policyRule"
我正在尝试从现有 AuditIfNotExists 策略创建 DeployIfNotExists 策略。部署时不会出错,但会错误提示“没有相关资源与策略定义中的效果详细信息匹配”。当评估政策时。当我将
我正在尝试从现有 AuditIfNotExists 策略创建 DeployIfNotExists 策略。部署时不会出错,但会错误提示“没有相关资源与策略定义中的效果详细信息匹配”。当评估政策时。当我将
我正在使用 wunderground 的 json api 来查询我网站上的天气状况。 api 为我提供了一个包含所有必要数据的漂亮 json 对象,但我每天只能进行多次调用。存储这些数据的首选方式是
我有一个名为可视化数据结构的项目。我有这样的 OOP 设计。 Class VisualDataStructures extends JFrame Class ControlPanel extends
这个问题在这里已经有了答案: 关闭 14 年前。 副本: Use javascript to inject script references as needed? Javascript 没有任何指
Android 应用程序遇到了一些 ANR 问题,因此我实现了 StrictMode 策略。以前从未使用过这个,所以希望有人可以帮助解释以下内容: 为什么日志显示 2 个看似相似的违规行为,除了前 4
我目前正在尝试解决一个问题。假设我们在路上行驶,我们知道路上有 10 家酒店。每家酒店都有 0 到 6 星。我的问题是:找到选择星级酒店的最佳解决方案。唯一的问题是:您不能回头去参观您已经决定不去的酒
我正在将我的应用程序迁移到 MVP。从这个 konmik 中获得了有关静态演示者模式的提示 这是我的简要 MVP 策略。为简洁起见,删除了大部分样板和 MVP 监听器。这个策略帮助我改变了方向,证明了
我是一名优秀的程序员,十分优秀!