- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用具有相当标准设置的 GitFlow:
develop 和 master 之间确实存在一些差异,例如我们希望 master 指向特定版本的 NuGet 依赖项,而 develop 指向这些依赖项的其他版本。
我们发现,当我们进行 GitFlow 修补程序并完成该修补程序时,在它从修补程序分支 merge 到开发时,它会尝试将这些配置差异从 master merge 到开发中,即使这些配置更改不是作为修补程序的一部分完成的。
我的同事断言,当我们最初迁移到 GitFlow 而不是使用 GitFlow Releases 功能时,这个问题很可能是主分支通过从 develop 分支形成的副作用。
是否有人对此类设置或症状有任何经验,或者有任何建议来尝试解决它?我们正在考虑尝试通过使用 GitFlow Release 功能或使用 Git 属性来忽略要 merge 的文件来重新创建 master,但感觉可能有更明智的方法来解决这个问题。
最佳答案
这是由于 master
和 develop
之间的“merge 基础”后,您在 master
上的配置在某处发生了更改。 (粗略地说,“merge 基础”是 master
和 develop
历史上最近的提交。)我想说这意味着你的同事在正确的轨道上。您是否使用特定的 GitFlow 工具并不严格,但是 develop
应该从 master
分支出来(而不是相反),并且(也许更重要)不应将更改直接应用于 master
。
如果您觉得这些陈述不合理,那么您所拥有的并不是 GitFlow 的“相当标准的设置”。
在 GitFlow 设置中,依赖版本与任何代码更改都没有什么不同。通常只有几件事会发生:
最常见的事情应该是,一个功能需要一个依赖项(或新版本的依赖项),以便更改进入功能分支上的构建配置。从那里它最终 merge 到 develop
,然后在 merge 到 master
的发布分支上进行。
另一种可能性是版本号在修补程序中被更改,因为您需要安全补丁或依赖项。当然,这应该 merge 到 master
和 develop
中。
最后,您可以更改发布分支上的依赖项;但同样,这些更改预计会 merge 到 master
和 develop
中。
共同的主题是,这些通常都应该汇聚到一个共同的配置。这不是错误的;如果您声称希望版本在生产中保持不同,那么您就是在说您不希望您的开发人员能够进行准确有效的测试。
如果您遵循 gitflow,那么 develop
与 master
具有不同版本的依赖项的唯一原因是更改尚未流向 主人
;在那种情况下,修补程序 merge 不会认为 master
版本应该覆盖 develop
版本,因为 merge 基础将在 master
上> 版本。
当然,有配置元素在生产环境和开发环境之间应该始终不同(例如连接字符串)。我的建议是在构建过程中解决此问题,而不是在源代码控制工作流程中解决。
关于GitFlow 正在将 master 的不需要的方面 merge 到修复完成的开发中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50008084/
我在 2 个不同的节点中设置了 master-master mysql 复制。假设如果我要再添加一个节点,即 3rd master ,我是否需要在新服务器中拥有与节点 1 和节点 2 中完全相同的数据
我认为我在理解 git 的基本概念方面是正确的。 我已经设置并克隆了一个远程存储库。我还创建了一个服务器端空存储库,并将我的本地存储库链接到它。 我的问题是我不明白: origin/master 与
从概念上讲,Master-Master 复制是如何工作的? 我认为碰撞将是一种需要以某种方式解决的常见事件。 最佳答案 主-主复制(更一般地——多主复制)在概念上的工作原理是假设冲突并不常见,并且只保
众所周知,mysql 是异步复制的。我听说我需要一些额外的插件来做 同步复制。 那么让我们考虑一下异步复制的情况:master 将事件写入其二进制日志,但不知道 master2 是否或何时检索并处理了
我正在寻求有关 MySql Master-Master 配置问题的帮助。 我正在处理由另一名员工设置的服务器配置,该员工现在无法就此事提供任何帮助。这是我第一次体验这样的设置,在做了相当多的研究之后,
尝试使用 HADOOP 运行 HBASE 时出现以下错误HBASE 0.98.xHADOOP 2.4.0 ERROR [main] master.HMasterCommandLine: Mas
停止独立 Spark Master 失败并显示以下消息: $ ./sbin/stop-master.sh no org.apache.spark.deploy.master.Master to sto
我不确定这是否是一个正常的分支场景,但是...... 假设我从 master 创建一个分支,比如分支 C,然后 merge 回其他先前存在的分支,比如分支 A 和 B,回到 master,然后我需要分
我无法推送到我的 git 存储库。 git clone和 git pull工作正常,但 git push不起作用。 我检查了其他答案,如 here尝试了几种方法,例如 git push origin
所以如果我在 master 中做: git checkout -b my-branch 并在那里做几次提交+推送。然后我做: git checkout master git pull 我现在能以某种方
我设置了 2 个 MYSQL 服务器: my.cnf server1: auto_increment_increment = 2 auto_increment_offset = 1 my.cnf se
我想知道一个服务器是否可以同时是slave和master。我们的问题是我们有很多移动单元需要同步到主服务器,但它们只需要主服务器上 100 个表中的 6 个。除了延迟同步和增加数据成本之外,所有额外的
我有主-主 Mysql 复制。每个主控复制其他主控。谁能解释一下为什么该主机上的 log-bin 文件不同? (尺寸差异很小)。谢谢! 最佳答案 嗯。我们决定使用 mysql 5.6 及其功能 - G
我正在努力理解这里的逻辑,如果术语不正确,我深表歉意。 我正在尝试构建一个功能类似于邮件的应用程序,IE: 所有邮箱 > 特定邮箱 > 消息 其中“所有邮箱”和“特定邮箱”占据 Controller
我一直在使用 master 分支进行开发,并希望将其清除为只有发布提交,以及它的用途。如何将所有内容从 master 复制到开发分支,然后重新启动 master? 最佳答案 Create develo
两周前,我创建了一个新分支,我们称它为exp。在此期间,exp 和 master 中都有几次提交。在此期间,exp 尚未更新 master 的更改 现在我想把所有从 exp 到 master 的更改都
我克隆:https://github.com/vy2014/git_lesson.git 然后我做了一些改动,尝试通过命令git push推送到远程服务器,但是错误: Counting objects
有没有好的方法来解释如何在 Git 中解决“![rejected] master -> master (fetch first)'”? 当我使用此命令时 $ git push origin maste
我该怎么办: 1)恢复推送到主(远程)的更改 2)将这些更改移动到单独的分支 3) 稍后将这些更改移回 master 最佳答案 首先做 2),但前提是你真的需要分支。 git branch chang
符号上有什么区别? 在我的一个工作站上,我克隆的 git 存储库显示(master),而另一个工作站则显示(master -> origin) 我还创建了一个新的本地存储库,提交了一个文本文件,提示仍
我是一名优秀的程序员,十分优秀!