所以这是我使用 GIT 的第一个真正的挑战。我有一个要掌握的个人存储库,我准备好标记和发布。存放我的代码的设备无法访问互联网,因此我需要能够通过 USB 驱动器升级存储库。我一直在阅读捆绑文件,但很难将它们用于我的预期目的。这是到目前为止我的步骤。
在我连接互联网的个人设备上
在没有网络的设备上
克隆捆绑包后,我收到一条警告,指出“警告:远程 HEAD 引用不存在的引用,无法签出”,并且目录中唯一的项目是 .git 文件。我确信我不是第一个遇到这个问题的人,但一直无法找到有效的解决方案。任何和所有的想法将不胜感激
我希望能够通过捆绑文件维护和更新离线 git 存储库。
可能最简单的方法是完全放弃捆绑包,而是将一个裸存储库放在 USB 记忆棒上(至少,这是我会做的)。
在您的开发机器上(有代码) - 假设您的项目克隆存在
~/src/projectX
并且您已将 USB 记忆棒安装为 /media/user/USBDRIVE
user@devmachine:~/src/projectX$ git init --bare /media/user/USBDRIVE/projectX.git
user@devmachine:~/src/projectX$ git remote add usb /media/user/USBDRIVE/projectX.git
user@devmachine:~/src/projectX$ git push --mirror usb
对于未来的更新,只需再次运行
git push
(假设USB分区在同一路径下可用)
将所有更改同步到 USB 驱动器后,卸载它并将其插入目标系统。 假设 USB 分区再次以
/media/user/USBDRIVE
结尾,请在目标上运行以下命令。系统
pi@device:~$ git clone /media/user/USBDRIVE/projectX.git
pi@device:~$ cd projectX
pi@device:~/projectX$ git checkout v1.0.0
对于未来的更新,只需运行
git fetch; git checkout v1.2.3
(再次假设路径不会改变)