You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

跨平台C++ HD44780格式化库Git项目结构与Submodule使用疑难

项目结构与Git工作流问题

项目背景

我用CLion创建了一个Windows平台的C++ CMake项目,其中包含formatter/子目录,存放平台无关的装饰器类——作为HD44780 LCD(或Windows下的模拟器)与上层程序的中间层,实现跑马灯(marquee)、压缩小数(smashed decimals,用单个自定义字符渲染小数点+上标数字)等功能。

结构设计的核心诉求

  • Windows下开发formatter库时,不想看到任何Arduino相关内容
  • Arduino项目中使用该库时,不想出现Windows相关内容
  • 主要在Windows下开发formatter库,但希望未来能在Windows项目或Arduino项目中编辑库文件

两种设想方案

方案一

  • 创建带SFML的Windows C++项目并推送到GitHub
  • 在GitHub创建独立的formatter仓库,将其作为submodule添加到Windows项目的formatter/子目录
  • 使用git clone --recursive克隆项目进行后续开发
  • 未来创建Arduino项目时,将该formatter仓库作为submodule添加到Arduino项目的formatter/子目录

方案二

  • 同方案一创建Windows C++项目
  • 在项目内创建formatter/子目录,存放平台无关类并完成初始开发
  • 未来创建Arduino项目时,将Windows仓库的formatter/子目录单独作为submodule添加到Arduino仓库

当前遇到的问题

我尝试了方案一,完成到第三步:用git clone --recursive克隆项目到新目录,在CLion中打开并在formatter/下创建了几个类。但使用SmartGit提交时弹出对话框,完全搞不懂整体含义和后续操作,也不确定要为哪个仓库创建分支、分支命名规则是什么。

核心操作需求

  • 将Windows项目加载到CLion(formatter类来自独立的submodule仓库)
  • 编辑并添加项目类(包括formatter/下的文件)
  • 提交到本地仓库
  • 推送到对应的GitHub远程仓库:formatter/下的文件推送到独立的formatter仓库,其余文件推送到Windows项目仓库

更新(2022年7月20日)

因操作受挫,暂时断开了Windows项目中submodule的链接,把formatter/改成普通子目录以推进开发。


内容的提问来源于stack exchange,提问作者Bitbang3r

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 06:57:16