git - 为不同平台构建时 Ionic / Cordova 项目的源代码控制策略
问题描述
每次我需要提取或提交代码时,我都会遇到同样的问题。这是问题:
我有两台电脑,一台 Mac 和一台 Windows,后者用于 web 开发和 android 构建,另一台仅用于提取我的代码、构建 iOS 应用程序并发布它。这已经顺利运行了一段时间。但现在应用程序变得更大了,我发现 myslef 必须在 android 上安装某个版本的 ABC 插件,在 iOS 上安装另一个 XWZ。或者在一个平台上有一个插件,而在另一个平台上没有。当从一台计算机跳到另一台计算机时,这很快就变成了一场噩梦。我还得出结论,我应该对 cordova 生成的一些文件进行版本控制,例如 gradle 文件和 info.plist 以及其他一些配置文件,以便我可以更好地了解如果应用程序突然无法构建时会发生什么。更不用说每个 Windowa/MacO 一直在更新的 package.json 和 package-lock.json。
所以我想知道其他人是否面临同样的问题,你们是如何处理的?有没有更智能的解决方案?
我正在考虑创建一个脚本,该脚本在每次成功构建时将给定平台的所有配置文件(包括 package.json 和 config.xml)复制到特定于平台的文件夹中。和版本忽略那些文件。所以他们永远不会被遥控器推或拉(除非是第一次安装)
同样,我不知道这是否是一个好方法,我想听听您的意见
解决方案
首先,如果您将在 MACOS 而不是 Windows 中构建您的 android 应用程序,那不是很好:)。如果您在构建 android 时遇到 MAC 中的任何问题,那么我可以帮助您解决该问题。
理想情况下,package.json、package-lock.json 和 config.xml 不应在每次将其推送到 git 时都提交到 git。每当您添加插件或更新插件的软件包版本时,都应该更新它。
我们在团队中遵循相同的原则,因为我的团队成员拥有 windows、ubuntu 和 MAC OS 机器。
推荐阅读
- ios - 谷歌地图背景是灰色的
- sql - Oracle Sql 语法(二)
- spring-boot - 在 Spring Boot Fat Jar 中使用外部第三方属性文件
- c# - 用 C# 或其他方式序列化大型、复杂的 XML - 目标是将数据导入 SQL 数据库
- sql - 不同列值更改时的标志列
- php - Laravel 在“orWhere”中使用“like”运算符链接“wherenotin”
- sql-server - MS SQL Server 2017 可能的多个选择语句在视图中创建不同的列?
- c++ - 模拟轨道物体时不知从哪里出现的速度
- rest - 获取 Office 365 租户中的所有站点所有者用户
- button - DIV 中的按钮位置