代码之家  ›  专栏  ›  技术社区  ›  Viermusketiere

嵌入式系统开发中如何进行版本控制

  •  0
  • Viermusketiere  · 技术社区  · 2 年前

    我从我的第一个真正的项目开始,开发一个由多个组件组成的嵌入式系统。也就是说,这些是用于引导加载程序的uboot,用于内核和userland的buildroot,以及应该安装到系统上的自定义应用程序。

    关键问题是我应该如何处理不同组件的版本控制。

    我心目中想要的文件夹结构看起来有点像这样:

    - mainproject
      - bootloader
        - configs
          - someFiles.cfg
        - uboot                   [Git Repo]
          - .config
          - otherUbootFiles
        - crosstool-ng            [Git Repo]
      - os
        - buildroot [Git Repo]
        - buildrootOutOfTreeFiles
        - targetfs
          - someFiles.txt
      - application
        - application1            [Git Repo]
        - application2            [Git Repo]
        - userdata
          - someFiles.txt
    

    主项目应包含完整生成嵌入式系统所需的所有文件。 我想的是,如果我想更新uboot或buildroot的版本,可以简单地将集成存储库移植到新版本。 Uboot和buildroot都将配置存储在各自的文件夹中。当我使用git将这些存储库作为子模块包含时,我只能跟踪相应存储库中这些文件夹内的更改。我想把这些配置文件包括在我的主存储库中,但又不会失去从git中获取uboot和buildroot新版本的能力。

    对于给定的用例,您将如何进行版本管理? 我对各种建议持开放态度,唯一的限制是git应该用于源代码和版本控制。

    0 回复  |  直到 2 年前