从 master 分支部署特定功能

2024-06-24

假设我们使用两个分支进行开发:staging and master。在迭代期间,所有团队成员所做的所有更改都会定期合并到staging分支并出现在我们的暂存环境中。客户能够查看更改并提供反馈。在迭代结束时我们合并staging分支到master并从执行部署master到我们的生产实例

想象一下当我们有特定功能只能在当前迭代中部分实现时的情况。但与此同时,我们希望客户看到(并希望提供反馈)该功能在我们的暂存环境中带来的变化。结果是在我们的迭代结束时staging分支我们有与以下功能相关的提交should and 不应该被合并到master

有没有办法解决这样的情况呢?


你基本上有两个选择。

  1. 从暂存分支中撤消您不想合并到主分支中的合并:

    $ git revert <merge_commit_sha1>

    这将附加一个新的提交,“撤消”该合并提交的更改(文件删除、代码更改等)

  2. Cherry 选择 master 中的提交范围,以制定您想要推送的功能

    $ git cherry-pick <start_hash>^..<end_hash>

记住^否则 git 将不会包含<start_hash> commit

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 master 分支部署特定功能 的相关文章

  • 是否可以在 Git 项目的所有分支中执行“grep 搜索”?

    是否可以运行git grep在 Git 控件源项目的所有分支中 或者还有其他命令要运行吗 问题 如何在 Git 历史记录中 grep 搜索 提交的代码 https stackoverflow com q 2928584 6309 建议 gi
  • git checkout 裸露,并在接收后包含子模块

    如何在包含子模块的接收后挂钩中检出服务器上的裸存储库 我目前将其作为接收后挂钩 bin bash http blog ekynoxe com 2011 10 22 git post receive for multiple remote b
  • 空提交的 Git 补丁

    我创建一个空提交 git commit allow empty m something important 有时它很有用 例如协调 2 个 或更多 不同的 git 树 然而 当我 git format patch 空提交被省略 因为它们不与
  • Git:从远程获取特定对象

    在工作中我们必须应对一个非常庞大的 git 存储库 90Go 在尝试调整本地副本上的一些内容后 我的包文件出现错误 尝试解压它 我可能删除了一些目标文件 例如 gt git GC 错误 无法读取 af9ed8 snip 致命 坏树对象 af
  • 如何使用 GitLab 管道中的密钥通过 SSH 连接到目标服务器?

    当 GitLab 管道成功时 我想通过 SSH 使用公钥连接到服务器 正如我所看到的 我需要在 GitLab 端使用 ssh keygen 生成一个密钥并将其添加到我想要连接的服务器上 我可以在管道期间生成密钥 但由于公钥未添加到目标服务器
  • AKKA-http 部署

    这是我第一次使用 akka http 我编写了以下启动应用程序的主类 object Main extends App with Routes with Config with Protocols implicit val system Ac
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • 初始堆大小无效。无法创建Java虚拟机

    我遇到了下一个问题 我尝试通过startup bat手动启动Tomcat 但似乎没有显示任何结果 然后我尝试运行shutdown bat 控制台显示如下 D apache tomcat 7 0 35 bin gt startup bat U
  • Heroku——从多台计算机部署?

    我有两台计算机 我希望它们都能够从 github 上的同一个存储库拉取 推送 并部署到 heroku 上的同一个应用程序 我知道 Heroku 允许您在另一台计算机上克隆其 git 存储库 以便它也可以链接起来 但我不希望第二台计算机克隆
  • git fetch 失败“refs/remotes/origin/pr/34 同时跟踪两者”

    我是 git 新手 我被困在 git fetch 上 我在 TFS 和 SVN 上有更多经验 所以欢迎任何类比 所以我在 Github 上找到了一个我分叉的项目 源项目 Xpose 有色状态栏 https github com Mohamm
  • git filter-branch - 放弃对一系列提交中的一组文件的更改

    说我有一个分支dev我想要discard所做的所有更改到一组文件在提交的愤怒中dev分支 因为它偏离了master 如果提交在此范围内只触及那些文件我喜欢把它修剪一下 我得到的最接近的是 git checkout dev git filte
  • 在 Tomcat/Eclipse 中部署 WAR

    我在Linux下使用Tomcat 6 0和Eclipse 3 0 并尝试在Tomcat中部署WAR 问题是服务器是由 Eclipse 管理的 并且我部署了一些 Eclipse 项目 我尝试修改 server xml 文件 然后通过 Ecli
  • 如何重新合并已经合并的分支?

    我有一个类似于下面的提交图 提交标记为 代表大量提交 A B C D lt old feature branch E F G lt master 合并提交 E 未正确完成 C 中的一些更改 不是全部 已丢失 如何重做合并以将更改重新引入当前
  • 在 Visual Studio 中发布事件之后

    我试图在发布事件后调用简单的任务 当我说 发布 时 我的意思是在 Visual Studio 中发布 右键单击项目并按 发布 我已在项目文件中包含 导入 目标文件 该文件工作正常 因为我已经在构建事件上对其进行了测试 我发现在http ms
  • 如何 git reset --hard 子目录

    UPDATE 在 Git 2 23 2019 年 8 月 中 有一个新命令git restore这样做的 请参阅接受的答案 https stackoverflow com a 15404733 946850 UPDATE 从 Git 1 8
  • Databricks Repos 分支的程序化签出

    我有一个集成测试 它比较从两个不同分支 即主分支和功能分支 运行相同脚本的输出 目前 此测试从我的本地计算机开始 但我想将其迁移到 Databricks 作业 并完全从工作流界面运行它 我能够使用笔记本重新创建大部分现有的集成测试 用 Py
  • git:每日更新日志

    如何生成按日期分组的提交变更日志 格式为 date today commit message1 commit message2 commit message3 date day 3 commit message1 commit messag
  • git 策略将一组提交限制在特定分支

    我需要经常在 dev 和 master 之间进行合并 我还有一个提交 我只需要应用于开发人员 以便在本地工作 早些时候 我只从 dev 合并到 master 所以我有一个分支 production changes 其中包含 dev 特殊提交
  • 如何撤消 git pull?

    由于远程源上不需要的提交 我想撤消 git pull 但我不知道必须重置回哪个版本 我怎样才能回到在远程源上执行 git pull 之前的状态 或者使其比其他答案更明确 git pull whoops git reset keep HEAD
  • Git:如何忽略/指定 *checkout* 文件

    如果我不想跟踪 html 文件 我可以将模式添加到 gitignore 它们将被忽略 我想知道如何做相反的事情 在结账时 我如何要求 git 仅签出某些类型的文件或不签出某些类型的文件 例如 如果我不需要 html 文件 我可以写 git

随机推荐