问题标签 [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.
git - 在之前合并到开发分支之后删除或重新合并 Gitlow 功能分支是否安全?
让我们采用Gitflow分支样式。对于每个功能,我们都有一个“功能分支”。我们开发该功能,一旦完成,我们可以将其合并到“开发”分支中。
合并完成后,我们是否可以简单地删除分支而不会在提交日志历史记录中丢失任何内容?
假设我们没有删除功能分支。在合并到“develop”之后,有人会审查更改并发现一些小问题(例如拼写错误或其他一些小更改)。在“功能分支”中进行更改并将其重新合并到“开发”分支中是否安全?还是总是创建一个新的“功能分支”更合适,即使是那些主要影响以前“功能”中所做工作的琐碎事情?
git - TeamCity 为新分支触发了太多构建
B
当我从分支创建一个新分支A
并执行一次提交时,TeamCity 会触发多个构建B
,尽管我希望只有一个构建。
我将“每次签入时触发构建”设置为 true,但仍然应该只有一个构建,因为只有一个新提交。TeamCity 似乎为当月的每个提交触发了构建。分支的所有构建都已A
完成,并且使用相同的构建配置来构建分支A
和B
. 我可以将 TeamCity 配置为仅为尚未构建的提交创建构建(无论在哪个分支上)?
git - 如何使用 TeamCity 正确配置功能分支 CI
我目前正在尝试设置 TeamCity 来构建不是我团队主要分支的所有分支。我在让它工作时遇到了麻烦,只能让它在默认分支上运行。我们的存储库有以下分支:master、Daily-build、Branch-Alex 和其他名称相似的分支。我非常希望这个构建配置在不包含 master 的推送上运行。以下是我的一些配置图片:
- VCS 根:
- 触发设置:
- 当前构建配置:
TL:DR - 有没有更好的教程来设置团队城市的功能分支建设?
奖励积分 - 我如何使名称只是分支名称而不是“ref/heads/Daily-build”?
git - 在没有变基的情况下与主同步功能分支?
在工作中,我们在功能分支模型之上开发,所有集成最终都在master
分支中结束。我们从 分支master
并合并到master
。这导致了一个非常复杂的历史图表,我们正在寻找简化开发工作流程的方法。
这样做的一种方法是rebase而不是merge。但是,我们安装了一个内部 GitLab 实例,其中禁用了覆盖权限(并且不会仅为我们的项目启用它们)。因此,rebase是不可能的。
老实说,我没有看到任何解决方法。但我不是 Git 专家,我可能会遗漏一些东西。
有什么建议么?
git - Git - 使用多个并发主/开发对并将功能分支合并到两者
我们有一个 grails 插件的代码库,它积极支持两个版本的 grails。每个版本的布局和配置都存在一些核心差异,但两者提供的功能应该几乎相同。
我想让我们的 git 工作流进入一种状态,可以针对一个版本开发一个功能,然后轻松地与另一个版本合并。
使用这个问题中讨论的布局,我们有一对和版本的master
和develop
分支。我的目标是:grails237
grails243
是否可以通过仅feature-xyz
合并更改而不合并之前的任何先前 grails 版本特定更改的方式来执行此操作?
我意识到樱桃采摘是一种选择,但是对于多次更改它可能会变得混乱..
git - 如何在一个环境中处理多个功能分支的部署?
此处描述的功能分支方法:http: //nvie.com/posts/a-successful-git-branching-model/很棒。我们想跟随它。
我们有生产、质量保证、暂存、集成和本地环境。我们的项目是一种标准网站,带有暴露 API 的 PHP 后端和使用 API 的 AngularJS 客户端。我们的基础架构并不是超级简单。我们有 Varnish、Nginx、Apache2、memcache、代理、一些自定义中间件、mysql、elasticsearch 等等。我们仓库中的代码不会改变基础设施,它只是 GitHub 中的应用程序代码。
我们通常同时处理 3、4 个功能分支。
尝试将所有功能分支部署到一个环境,然后再添加一个 Nginx/Apache2 虚拟主机,再添加一个 db 模式,到同一台服务器等,这是一种好方法吗?
我们可以为这些功能分支提供 3、4 个独立的环境,但我正在寻找一种解决方案,以便在一个环境中动态完成。chef/puppet 是否应该部署新的服务器配置(vhosts、db schema 等),以来自 GitHub 的钩子后的功能分支命名?
还有其他方法吗?
git - 我可以将来自上游存储库的拉取配置为始终仅快进吗?
我的团队使用 git 的功能分支工作流程。
我想以某种方式git pull upstream branchname
将上游仓库中的 a 配置为 always git pull --ff-only upstream branchname
。那可能吗?
如果我可以将整个upstream
仓库配置为只允许--ff-only
拉取,我也会很高兴。
细节
我们的主要集成分支develop
位于主要的上游 repo 中,各个功能分支从开发开始,进行更改,然后提出拉取请求以将功能分支合并回开发。
问题是我们的许多开发人员并不像他们应有的那样精通 git,并且他们不断弄乱本地 repodevelop
的develop
.
他们没有注意到这种分歧。然后他们从他们的 borked 创建一个特性分支develop
,直到他们提出他们的拉取请求才意识到这一点,这突然带来了大量的废话。如果幸运的话,一位精明的审阅者会告诉他们通过变基来清理他们的拉取请求。但是时不时地,一个混乱的拉取请求会被合并回来,这会扰乱我们的上游历史。
解决方法
--ff-only
我对这些新手 git-folks 的建议是在从上游拉取时始终使用该选项,以强制他们的本地develop
分支保持上游 repo 的完美副本。
如果他们的本地副本develop
与上游不同,那么--ff-only
当他们下次尝试拉取时,该选项将向他们大喊大叫。这种大喊大叫将迫使他们解决真正的问题。
但他们是 git-n00bs,所以他们经常甚至不明白我在推荐什么,只是继续把事情搞砸。
我会尝试所有适当的胡萝卜/大棒激励技术(人类!我知道,对吗?),但如果我能以某种方式使用训练轮配置他们的本地存储库--ff-only
,那么我的审查负担就会减轻(我的开发人员将被迫学习更好的 git 技术)。
git - Git:事后如何分离出功能分支
如何将某个功能的某些提交从现有分支移动到功能分支中,并有效地将它们从当前分支中删除 - 就好像该功能是在单独的功能分支中开发的一样?
背景:分支develop
包含对两个功能 A(例如 50 次提交)和 B(10 次提交)的提交,因为它们原本应该在同一个版本中。现在我们正在延迟特征 B。因此,我们希望分支中只有特征 A develop
,以及一个包含 A 或 A 和 B 的提交的新featureB
分支,这样如果我们合并两个分支,我们就会得到当前位置develop
分支。
一种方法是featureB
从分支的当前位置创建develop
分支,然后将提交从 A 反向应用到develop
. develop
但随后新的合并featureB
将只是 A。
另一种方法是将当前重命名develop
为featureB
并将 A 的所有提交选择为新develop
分支。但这会有效地修改 的历史develop
,这很麻烦。
有什么更好的方法来做到这一点?
git - 如何强制将功能分支推送到 Gerrit?
我一直在研究(远程)功能分支,在更改分支历史后,我想将其推送到 Gerrit(强制推送)。
我尝试了以下命令:
git push origin HEAD:refs/for/branch_name --force
但是,它没有更改分支历史记录,而是将更改推送到分支顶部。
我究竟做错了什么?如何强制推送或更改远程分支历史记录?谢谢。
git - 如何创建可选功能分支?
我在 github ( https://github.com/alberthendriks/peatio/ ) 上创建了一个开源项目,我想为社区提供功能。Peatio 是一种货币兑换,默认只支持 CNY 和 BTC。现在,这里有添加山寨币的说明: https ://www.snip2code.com/Snippet/205317/Adding-A-New-Cryptocurrency-to-Peatio
我想以这种方式为多个硬币创建一个功能分支(每个硬币一个分支),以便人们可以将他们想要的硬币合并到他们的叉子中。问题是:我认为如果它们合并到一个特性分支中这将起作用,但是如果它们合并到多个特性分支中,则会出现(不必要的)冲突。每个硬币的多个文件中只添加了一些代码,每个硬币的代码出现在文件中的顺序并不重要,但 git 会认为这是冲突,因为代码被添加到同一位置。对于人类来说,这应该很容易解决,所以希望也有一个自动解决方案?