创建 GIT Bundle 以使用标签维护和升级离线存储库

问题描述 投票:0回答:1

所以这是我使用 GIT 的第一个真正的挑战。我有一个要掌握的个人存储库,我准备好标记和发布。存放我的代码的设备无法访问互联网,因此我需要能够通过 USB 驱动器升级存储库。我一直在阅读捆绑文件,但很难将它们用于我的预期目的。这是到目前为止我的步骤。

在我连接互联网的个人设备上

  1. git结帐
  2. git 捆绑包创建
  3. 将捆绑包复制到闪存驱动器并将其插入没有网络的设备

在没有网络的设备上

  1. 将捆绑包从闪存驱动器复制到本地目录
  2. git克隆

克隆捆绑包后,我收到一条警告,指出“警告:远程 HEAD 引用不存在的引用,无法签出”,并且目录中唯一的项目是 .git 文件。我确信我不是第一个遇到这个问题的人,但一直无法找到有效的解决方案。任何和所有的想法将不胜感激

我希望能够通过捆绑文件维护和更新离线 git 存储库。

linux git github raspberry-pi gitea
1个回答
0
投票

可能最简单的方法是完全放弃捆绑包,而是将一个裸存储库放在 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
(再次假设路径不会改变)

© www.soinside.com 2019 - 2024. All rights reserved.