我正在为嵌入式应用程序开发一些代码。我的嵌入式系统运行 linux/git 并有一个本地编译器,但它们没有网络硬件或功能。我能够愉快地在这些嵌入式系统上安装 USB 驱动器。
我的桌面 PC 上有我的源代码主(裸)git 存储库,并在存储库的克隆中进行了相当多的开发。简单/基本的 git 工作流程很好。
我的设想是在 USB 拇指驱动器上创建存储库的 --bare 克隆,然后在我的嵌入式系统之间进行网络连接。
我希望每个嵌入式系统上的 git 存储库是 USB 存储库的克隆。
所以我设想的工作流程是这样的:
- 在我的嵌入式系统之一上进行一些更改。添加并将它们提交到本地 git clone。
- 将 USB 拇指驱动器挂载到嵌入式系统,并将更改从本地存储库推送到拇指驱动器存储库。
- 在我的台式电脑上安装 USB 拇指驱动器并将这些提交推送到主/裸存储库
- 将更改拉入我的桌面开发树。
然后我想做相反的事情:
- 对我的桌面工作 git 树进行更改,添加、提交、将它们推送到主存储库。
- 在我的台式电脑上安装拇指驱动器,将主更改拉/取到拇指驱动器上的 git clone 中。
- 在嵌入式系统上安装拇指驱动器,将更改拉/取到嵌入式系统上的本地工作树中......
最终目标是能够在我的台式 PC 或我的任何嵌入式系统(没有网络能力)上进行开发更改并保持一切同步。
这可能吗?如果没有大量的 git voodoo,这可能吗?
我已经坐下来解决这个问题了几次,并且不断遇到障碍。我不认为我想要在 U 盘上使用 --mirror 的存储库,因为我希望能够通过 U 盘双向推送更改。
我可以将官方主存储库放在拇指驱动器上,并让我所有的工作副本都指向我想的那个,但这并没有让我对我的主副本的安全性产生温暖的模糊感觉,如果它被埋没了。
我希望我能理解并自己做一些“简单”的事情!