有什么方法可以将成功构建的功能分支推送到另一个分支?
我想要这样的东西:
Git存储库(Gitorious / GitHub等)。分行:
开发人员应仅具有对母版的读取访问权限,并且对其功能分支进行读/写QA读/写质量保证分支TeamCity-读/写母版,质量保证,仅对功能分支只读
现在,我想要一个这样的工作流程:
我不知道是否需要进行质量检查的步骤,也许成功构建和测试后的每个功能分支都应与母版合并。
首先,我想知道:这有意义吗?我只是从CI开始,我不知道它是否可以工作。
其次,如果此工作流程正确,我想知道如何配置TeamCity来执行类似的操作,以及如果发生某种冲突或在哪里出现问题该怎么办。
最近,我观看了有关Git + Jenkins +
Gerrit的演示,在其中我看到了类似的内容,但是对于.NET开发,我个人更喜欢TeamCity,但是如果使用Jenkins这样做更容易,我会改变主意。
我们已经使用github实现了具有与此目标相同的工作流(尽管实现略有不同),并且尽管有可能它可能需要进行一些设置才能确保Teamcity的某些问题。我对这里的类似问题还有另一个答案
我们的解决方案基本上涉及到每个开发人员都有自己的主存储库分支,他们具有读写权限a和从主(绿色)存储库中提取权限。开发人员在分支机构上工作(每个故事一个,短命),这些团队由团队城市推向自己的个人分支时建立。
一旦开发人员准备好将其更改合并到主服务器中,他们便会提交拉取请求并审核代码,然后最终与主分支合并。然后,他们将自己的主人分支推到自己的个人叉子上。
如果此构建成功并且所有测试都通过了(此时我们也部署到Azure,然后对该部署运行测试),则Team City构建代理会将master分支推送到绿色存储库。
此推送必须是快速前进或被拒绝(这可以通过自动合并解决任何潜在的问题,这让我感到恐惧)
您可以轻松地扩展它,使dev分支将其推送到QA存储库,然后QA对构建服务器进行提交,从而触发推送到绿色(或让QA拥有推送到绿色的权利)。
teamcity设置可能会有些麻烦,因为您需要将事物与快照相关性进行链接,这会抑制使用模板的能力,这意味着每个开发人员至少需要2个构建配置(我们需要4个配置来处理部署azure并针对azure运行测试),因此如果您有很多开发人员,这可能会很难管理。理想情况下,您不需要这样做,但是由于团队合作中的问题仍未解决,如果测试失败,您将无法始终使构建快速失败。
我用intelliJ从git回购中创建了一个新项目。像这样 我输入了回购地址,一切都很好。代码已下载,并且都是最新的。 我在intelliJ中创建了一个新分支 我所做的唯一更改是添加一个.gitignore文件。 我做了一个promise 看起来还可以。现在,当我试图推动回购协议时,它失败了,出现了一个错误 我不确定这是怎么可能的,因为我刚刚从这个链接创建了这个项目。
我从Bitbucket或Github迁移了我的回购协议。我认为这无关紧要,但这是唯一不同的地方。有一段时间,我安装了两个遥控器: 然后我将两者都删除,并将原点指向github: 开发分公司测试推送: 一切都是最新的,好的,很好。 按照常规为某些工作创建新分支: 更新一两个文件。尝试推送至远程: 这会导致错误: 致命:无法将功能/名称解析为分支 在线搜索此问题,找到一些关于确保HEAD正确的信息,其
在我的项目中,我创建了一个名为的新分支,并希望将该分支推送到服务器,但它似乎一直在推主分支。 github: 两个GitHub分支:Master和Dev 在服务器上: 我有一个生产网站:例如。com 我的工作流程: 我在本地工作,然后推送到GitHub Dev 这就是我想做的。 我目前被困在将Dev分支推送到Staging服务器:dev.example.com 这是我的本地git配置文件: 在我的
我想把一个网站推到GitHub上的gh-pages分支...我需要包含node_modules/文件夹,但git甚至不允许我添加它来提交更改...我理解这是所希望的行为,因为您不希望在开发时包含依赖项。但我想把现场部署在这里...所以我需要包括所有的依赖关系... 有什么想法吗?
假设我们在Git中有以下情况: > 创建的存储库: 主服务器中的某些修改发生并提交: 功能1从master分支,完成了一些工作: 同时,在主代码中发现一个bug,并建立一个热修复分支: 该错误在修补程序分支中修复,并合并回主程序(可能在拉取请求/代码审查之后): 功能1的发展仍在继续: 假设我需要功能分支中的修补程序,可能是因为bug也发生在那里。如何在不将提交复制到功能分支的情况下实现这一点?
功能分支工作流在集中式工作流的基础上又扩展了一下。在集中式工作流里,大家都往远程的一个 master 分支上 push 提交,使用功能分支工作流,开发者不直接向 master 上 push,他们在各自的本地创建新的分支,去开发新功能,去修复 Bug ,去实验自己的想法。 完成以后,开发者可以把这些功能分支 push 到远程仓库,然后可以提交一个 pull request,这样可以跟项目的其他协作开