image-20230601下午53301310

如图,今天在群里问了个小问题

TLDR; 直接说结论吧

  • 小项目直接开子目录,然后可以分别独立打包或者使用 go embed

  • 不同分支的方法应该没必要用

    如果想做成两个独立项目就用 submodule

    gpt 对 submodule 的介绍

    Git 的 Submodule 是一种在一个 Git 仓库中嵌套使用另一个 Git 仓库的机制。它允许你将一个 Git 仓库作为子项目嵌入到另一个 Git 仓库中,并且能够独立地管理子项目的版本和提交历史。

    使用 Git Submodule 的主要目的是在一个项目中使用外部依赖,而不是将它们直接复制到项目目录中。这样做的好处是可以方便地更新和维护外部依赖,并且可以保持项目的独立性。

    下面是使用 Git Submodule 的基本工作流程:

    1. 添加 Submodule:在主项目的仓库中,使用 git submodule add 命令添加一个子项目作为 Submodule。例如:

      1
      git submodule add <URL to submodule> <submodule path>

      这将在主项目中添加一个 Submodule,并将其克隆到指定的子目录中。

    2. 初始化和更新 Submodule:在主项目的仓库中,可以使用以下命令来初始化和更新 Submodule:

      1
      2
      git submodule init    # 初始化 Submodule,只需执行一次
      git submodule update # 更新 Submodule,每次子项目发生变化时执行

      git submodule init 命令会初始化 Submodule 并将其连接到指定的提交。git submodule update 命令会更新 Submodule 的代码,可以在每次子项目发生变化时执行该命令。

    3. 切换 Submodule 版本:在主项目中,你可以使用 cd 命令切换到 Submodule 的目录中,然后像在独立的 Git 仓库中一样执行各种 Git 操作,例如切换分支、提交变更等。

    4. 提交和更新 Submodule:当 Submodule 中发生变化并且需要将这些变化应用到主项目中时,需要先切换到主项目的根目录,然后使用以下命令进行提交和更新:

      1
      2
      3
      git add <submodule path>
      git commit -m "Update submodule"
      git push

    需要注意的是,当其他开发者克隆主项目时,Submodule 的代码不会自动获取。他们需要执行 git submodule initgit submodule update 命令来获取和更新 Submodule 的代码。

    使用 Git Submodule 需要注意以下几点:

    • Submodule 是一个独立的 Git 仓库,具有自己的提交历史和版本管理。
    • 主项目只保存 Submodule 的元数据和连接信息,而不会包含 Submodule 的实际代码。
    • 主项目和 Submodule 是两个独立的仓库,需要分别进行操作和管理。
    • Submodule 可以是公共的仓库(如 GitHub 上的仓库)或者是私有的仓库。

    Git Submodule 是一种强大的工具,可以帮助你管理项目中的外部

    依赖,并与主项目保持独立和可维护。但同时也需要注意它的复杂性和正确的使用方式,以避免出现问题。

    submodule有个好处是子模块也是个仓库 比如博客主题这种就可以主题一个仓库 然后demo仓库引用主题的仓库这样同步

  • 类似的玩法还有 monorepo ,不过前端和后端go没啥基础设施共享 没有monrepo的场景