问题标签 [feature-branch]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tfs - 是否可以使用 TFS Git 功能在 TeamCity 中使用多个分支规范?
在我的项目中,我们使用TFS 2013作为源代码控制存储库和TeamCity 9.1.6作为 CI 服务器的功能分支。我们计划很快升级到 TFS 2015(......并且无法迁移到 GIT)
我知道当您使用 GIT 或 Mercurial 时可以使用多个分支规范……而且它非常有用。在 TFS 2013 中,微软增加了对 GIT 的原生支持。
我想使用我现有的 TFS 服务器进行多个分支规范,以便有一个构建每个功能分支的提交构建。
所以我的问题是:
- 是否有任何允许我这样做的 TeamCity 插件?(比我可能的 GIT-TFS 技巧更容易)
- 鉴于 TFS 2013 支持 GIT,我是否可以配置我的 VCS 以使 TeamCity 构建认为 TFS 是 GIT 服务器并使用此处解释的多个分支规范?
理论上,TeamCity VCS 作为 GIT 服务器连接到 TFS 会认为它是 GT 服务器,不是吗?
svn - SVN 集成了一个已重新定位到主干的功能分支 - 为什么 svn:mergeinfo 尽管没有更改但更新了?
这个例子来自 SVN 1.8。
我们使用带有主干和特征分支的通用技术。通常,功能分支是通过分支主干创建的。通过合并从主干到功能分支(变基)的更改,功能分支不断与主干保持同步。当功能分支中的开发完成后,内容将合并回主干。
当功能分支合并回主干时,对功能分支的所有更改,包括由 rebase 创建的更改,都记录在主干文件/文件夹的 svn:mergeinfo 属性中。这样做的一个后果是,当功能分支合并回主干时,功能分支中尚未更新的文件和文件夹(通过变基除外)被标记为已更改(仅限属性)。
为什么这是必要的?主干日志显示,当功能分支合并回主干时,这些文件夹/文件发生了更改,尽管功能分支中相对于主干没有文件夹/文件内容发生更改。这对我们的开发人员来说是相当混乱的,因为 TortoiseSVN 显示很多他们没有更改的文件夹/文件已经更新。这真的是理想的行为吗?
git - Git 功能分支:只获得一个合并提交
以下情况。我在 git 中处理功能分支,当我完成相应的功能后,我将其合并到公共开发分支中。由于完成一个功能可能需要相当长的时间,我定期将开发合并到我的功能分支中,以保持同事对代码的更新。
现在,当我完成并将我的特性分支合并到开发中时,我在特性分支上所做的所有提交都会出现在开发的历史记录中。但我希望只有一个合并提交来保持历史清晰。我不需要所有中间的东西。
那可能吗?
git - 删除 origin 中已经合并的远程分支
我们正在使用一个名为“集成”的分支作为我们的主分支(我们仍然有一个主分支,但我们现在没有使用它)并且我们有一堆已经从它创建的分支然后合并回来并需要被删除。我发现了这个关于删除本地分支的问题,但不确定是否将这些建议应用于我的特定情况。
我认为这会起作用,不想运行这个命令并让它出错并搞砸回购。
$ git checkout 集成
$ git branch -r --merged | grep -v 集成| sed 's/起源//:/' | xargs -n 1 git推送原点
git - Gitflow 和意外合并其他功能
我们最近开始介绍 gitflow,主要关注一些 youtube 视频和一些在线文章 - 以及 SourceTree 中的 GUI 功能。
然而,我们认为我们做错了什么,因为我们遇到了我们希望解决的情况。
developer 1
正在处理feature 1
,developer 2
正在处理feature 2
,develop
分支用于开发和暂存,master
分支正在运行/生产
开发商 1
- 开发 = 主控(与主控同步)
- 开发 -> 分支到 feature-1
- 开发 <- 合并到 feature-1
开发商 2
- 开发!= master(与master不同步)
- 开发 -> 分支功能 2
- 开发 <- 合并 feature-2
现在我们来解决问题,如果developer 2
想feature 2
通过将其合并到 live 中master
- 它将包含feature 1
,这意味着它们都会上线。
所以我们显然做错了什么——这就是我们需要澄清的地方,我能想到的唯一两种方法是
master
您从而不是创建新功能develop
- 您使用“Cherry Pick”,它只将实际更改的文件放入
master
我们想要的解决方案是混合没有发布周期的 Web 开发项目,一旦客户签署了该功能,它们就会真正上线,因此非常感谢有关如何实现这一点的建议。
谢谢
plugins - 在 TeamCity VCS 插件中实现功能分支
我目前正在塑料 SCM VCS 插件中添加对功能分支的支持。我想我已经准备好了一切(显然我错了),但是 TeamCity 检测到所有新的变更集都属于所有分支。这会使插件无法使用,因为默认分支中的新提交将触发所有活动分支中的构建。
我有一个PlasticVcsSupport
类扩展ServerVcsSupport
。这是PlasticVcsSupport.getCollectChangesPolicy()
方法:
这是该类的概述PlasticCollectChangesPolicy
: public class PlasticCollectChangesPolicy implements CollectChangesBetweenRepositories {
该getCurrentStatus()
方法似乎工作正常,因为正在正确检测到新更改并且传递给collectChanges()
方法的从/到状态是有意义的。但是,似乎我缺少要为返回的ModificationData
对象设置的内容,因为 TeamCity 无法找到每个ModificationData
. 我正在使用该addParentRevision(String)
方法设置正确的父变更集,但没有取得任何成果。我也检查了 git 插件代码,但我看不到我缺少什么:-(
这就是 ModificationData 的构建方式:
任何形式的帮助将不胜感激:-)
谢谢!
ios - 移动开发的功能分支
我为我的 Web 项目使用功能分支,对于每个功能,我创建一个新分支并在该功能准备好由团队的其他成员测试时打开一个拉取请求。
使用Heroku 审查应用程序和Github 协作代码审查,我们可以无缝地审查代码和测试功能(无需拉取、构建等)。
现在,我们正在使用 ionic2 和 testflight (ios) / beta (android) 程序为 ios/android 开发移动应用程序。问题是你一次只能有一个构建,所以特性必须一个一个地测试(即PR1、B1、Merge PR1、open PR2、B2、Merge PR2等等)。它大大减慢了我们的开发过程。
那么,您是否知道同时测试多个移动构建的额外工具/选项/流程?
git - Show commits affecting a file that are not in a feature branch?
Given branch-a
and git rebase origin/master branch-a
, sometimes you get conflicts in a file.
Given that before the rebase there were no conflicts (by definition), then conflicts can only have occurred b/c one or more commits to .../file.txt
.
During the conflict resolution process, I can't figure out a way to easily show "commits from origin/master that affected .../file.txt" so that I can more confidently integrate those changes.
ABCD
is mainline development. EFG
is my local branch development. Commit C
caused a conflict in file/commit F
during my local rebase onto D
.
Given a detached HEAD or "rebasing" state, when I do git log -3 file.txt
it doesn't seem to show me what I want to see, which is WHAT was the diff (ie: commit C
) which caused the conflict I'm trying to resolve now when applying commit F
.
How can I get a list of commits which only affect a particular file and are from the range ABCD
... not including my commits in EFG
or the currently active --rebase
?
teamcity - TeamCity 功能分支工件依赖项
我在 TeamCity (10.0.2) 中有一个金丝雀构建 (BuildA),它在提交发生时构建 master、develop 和所有 feature/* 分支。
我想创建另一个构建(BuildB),它从 BuildA 获取一小组工件,并在文件上运行 FxCop。而且我希望 BuildB 有一个 Finish Build 触发器,这样当 BuildA 为任何分支完成时,BuildB 将从该分支构建和运行中获取工件。
设置它似乎有一些障碍:
当我打开“Edit Artifact Dependency”框时,我必须指定一个“Build branch”,这是一个逻辑分支名称,而不是通配符或模式匹配。所以我不知道如何为来自 BuildA 的所有构建设置工件依赖项。
“完成构建触发器”有一个分支过滤器,看起来我可以放入“+:*”来捕获所有分支,但它如何与“工件依赖”分支名称值对齐?
git - QA 如何使用 Gitflow 工作流程中的功能分支一次测试多个功能?
如果开发人员要针对不同的功能在不同的分支上工作,我知道他们可以从功能分支提供 QA 构建,并且一旦经过测试,它就可以与“开发”合并。但是,如果 QA 团队相当大并且可以同时测试多个功能,那么如何为他们提供包含驻留在不同分支中的功能的构建呢?