git - Git - 维护与 master 并行的部署分支
问题描述
编辑
简短的问题是:我怎样才能将 master 合并到一个并行分支中(比如“部署”),而不保留这个其他分支的任何先前内容。基本上我想在每次合并时强制一个 master 副本“部署”。
原始问题(背景信息)
我正在使用 git 来开发网站。我在“master”分支中保留了一个工作版本,我在开发时将其推送到测试站点。在“master”中,我有未缩小的 JS 文件,我需要在开发时进行编辑(在许多其他文件中)。
当我需要将新版本上传到生产站点时,我显然需要拥有最新版本的Master,但我还需要进行一些清理(即缩小我的JS文件并删除未缩小的文件)。
有没有办法我可以在 git 中维护相同的“部署”分支,我将“合并”“主”中的新更改,但实际上忽略合并之前“部署”中的任何内容?我一定会拥有一份最新的“master”副本,我可以从中进行清理并推动生产。
我尝试了 git 的文档,并认为“我们的”或“他们的”在做我想做的事情,但我不确定。
解决方案
这不是 Git 问题,而是部署问题。参见示例是否应该将缩小的 CSS 存储在 Git 中?在软件工程网站上。
您的 Git 存储库应包含编译部署工件所需的所有源文件。部署应该可以从这些源文件中重现(可能不是逐字节,而是功能相同)。
您可以选择将您的部署工件(无论是否打包)存储在单独的“部署”分支或完全不同的存储库(或存储系统)中。
总而言之,听起来您需要一个部署过程,而不是 Git 过程。您可能会在批处理脚本中轻松编写部署任务,该脚本检查您的源,构建所需的部署工件并将它们打包以进行部署。
推荐阅读
- spring - 如果数据不是每分钟轮询一次,SimpleMeterRegistry 会清除数据
- neo4j - 删除最后n个关系neo4j
- java - Android WebView 无法在 Android 4.2.2 上加载 url
- c++ - 每次我需要编译 C++ 程序时,是否需要输入 -std=c++17 (或我想使用的任何标准)?
- android - 当用户在范围内时,有时会调用进入和退出方法
- jenkins - Jenkins 并行管道中的 npm ci
- java - 将地图区域划分为给定半径的重叠圆圈
- ios - MTKView 清晰显示
- r - RStudio Server,Shiny 应用程序无法启动,应用程序页面立即变灰
- sql - 如何使用单个 SQL 查询获取物料清单的所有级别数据