我正在为嵌入式应用程序开发一些代码。我的嵌入式系统运行linux / git并且有一个本机编译器,但它们没有网络硬件或功能。我能够很高兴地在这些嵌入式系统上安装USB驱动器。
我的桌面PC上有源代码的主(裸)git存储库,并在存储库的克隆中进行了相当多的开发。简单/基本的git工作流程很好。
我想到的是在USB拇指驱动器上创建一个--bare克隆存储库,然后在我的嵌入式系统之间运行网络。
我希望每个嵌入式系统上的git存储库都是来自USB存储库的克隆。
所以我设想的工作流程是这样的:
然后我想做相反的事情:
最终目标是能够在我的台式PC或任何嵌入式系统(没有网络功能)上进行开发更改,并使所有内容保持同步。
这可能吗?如果没有大量的git voodoo,这可能吗?
我已经坐了好几次来完成这项工作,并继续遇到路障。我不认为我想在拇指驱动器上使用--mirror'd存储库,因为我希望能够通过拇指驱动器向两个方向推送更改。
我可以将官方主存储库放在拇指驱动器上,让我所有的工作副本都指向我想的,但如果它被埋没,这并不能让我对主副本的安全性产生温暖的模糊感觉。
我希望能找到一些我能理解并做到的“简单”的东西!
答案 0 :(得分:1)
[这里假设我们只是在讨论没有任何额外内容或插件的常规git]
是的,的确可以。这里有几点需要记住:
所以,在最原始的情况下,你可以用“cp -a”复制.git目录,你就可以了。
当然,这不是最好的方式......你可能想推拉,想要那种东西。因此,我们可以做的是将服务器上的存储库称为usb棒和桌面的“远程”(即我们的“主”)存储库。
将usb stick存储库称为嵌入式系统的“远程”。
最简单的方法如下(你可能已经完成了前两个):
就是这样。您现在可以从嵌入式推送到usb,从usb推送到服务器,从服务器推送到桌面和usb。