繁体   English   中英

Git 分支策略与实践——基于master 分支的不同项目放入不同的分支而不是新的仓库

[英]Git branching strategies and practices - different project based on the master branch project put into different branch instead of a new repository

我和我的同事正在为嵌入式系统开发代码,我们将其保存在 git 存储库中。

除了主应用程序项目,我们还需要为同一设备开发一个引导加载程序,以便在必要时能够重新编程应用程序。

主要应用程序由约 15 个模块/C 文件组成,不包括微控制器供应商提供的库。
引导加载程序是基于应用程序项目制作的,实际上所有应用程序模块都被删除了,除了 TCP 堆栈、以太网配置和其他必要的模块,如时钟等。

在这个精简的应用程序项目之上,我们添加了执行引导加载程序作业的模块。

我的同事决定将此引导加载程序保存在同一个存储库中,但只是在不同的分支上。

在我看来,分支应该只用于同一个项目,如实验、功能、发布、稳定分支等。

虽然今天我看不到任何重大的技术或工作流程问题来将 Bootloader 保留在不同分支的同一个 repo 中,但我只是不觉得这个解决方案优雅,并且更愿意为 Bootloader 创建单独的存储库。

您可以在一个 Git 存储库中拥有多个项目吗?
也许我太迂腐了,不应该太在意这个而坚持创建一个单独的存储库?

即使你认为这不是最好的做法(我倾向于同意),由于 git 的分布式特性,每个人的 repo 都是他们自己的......所以如果你的朋友/同事喜欢它那样......好吧,由他们决定......只要它不来咬你的追尾,我想就可以了。

分支用于隔离不同的开发工作,并且应该在以后合并回来。
它们通常从共同的历史开始。

但从技术上讲,你可以把:

  • 分支中的单独代码(永远不会合并)
  • 孤立分支:在这个新分支上进行的第一次提交将没有父分支,它将成为与所有其他分支和提交完全断开连接的新历史的根。

所以是的,您可以在一个存储库中拥有多个不相关的项目。
使用git worktree ,您可以克隆一次,并拥有多个文件夹,每个分支/项目一个。

所以你可以这样运行,只要每个分支/项目没有太多的历史/对象(或者全局克隆随着时间的推移会变得很麻烦)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM