git - 使用不同的分支构建 NodeMCU 固件
问题描述
只有当我将它们克隆到单独的本地目录时,我才能为 NodeMCU 的所有分支构建固件,https://github.com/nodemcu/nodemcu-firmware 。
当我尝试只有一个文件夹并使用 git checkout 分支时,我只能构建主固件。当我签出分支时,其他文件会更改以匹配分支,但我无法构建固件。也许这就是它的方式?我希望我可以使用 git checkout master 然后 make 来构建主固件,然后使用 git checkout dev 然后 make 来构建开发固件。文件确实会更改以正确反映分支,所以我不确定它为什么不起作用。
解决方案
虽然@VonC 的回答肯定是有帮助的并且有些“正确”,但它也非常通用。
您可能正在努力解决的是 Git 子模块。我们将它们用于例如 u8g2 和 ucg。.gitmodules
查看相应分支的内部以获取详细信息。
当您切换分支时,您需要更新子模块。git worktree
在这里会非常方便,但由于仍然存在影响我从未尝试过的子模块处理的错误。
我怀疑您遵循了https://nodemcu.readthedocs.io/en/master/build/#git上的说明。对于ESP32 分支,我们记录了更多的构建指令,因为云构建器还不支持它。
结论:确保git submodule update --recursive
每次切换分支时都运行。
推荐阅读
- audio - 增加 Gstreamer rtpbin 中的同步率
- javascript - 如何在角度 8 中禁用输入下拉列表的自动填充
- python - 为什么 mypy 很难分配给嵌套的字典?
- javascript - 增加firebase的oob代码过期时间
- jquery - 使用引导程序 4 首次单击时不显示弹出框 html
- python - 如何获得订单已提交的价格 backtester python
- spring - 我可以在 Spring MVC 中直接从其他控制器方法调用一个控制器方法吗?
- laravel - Livewire - 通过复选框分配多个值
- azure - 在 Azure Blob 存储中创建用户之间逻辑分离的最佳方法
- python - 从 Linux 的内存中记录屏幕