我需要将完整的repo转移到新的非联网机器,最好是作为单个文件实体.git的捆绑允许git fetch,git pull操作风格在sneakernet环境,但似乎假设你已经在目标计算机上回购的工作版本.
什么是正确的调用:
Jak*_*ski 167
什么是正确的调用:
- 捆绑当前仓库中的所有分支
简单:
$ git bundle create repo.bundle --all
Run Code Online (Sandbox Code Playgroud)
这repo.bundle是您要创建的包文件的名称.请注意,--all不包括远程跟踪分支...就像普通克隆也不会.
- 在目标目录上启动新的repo,即正确安装root commit
首先,clone只是init+ fetch(+ administrativia).
其次,您可以在任何地方使用存储库URL来使用捆绑文件,因此您可以简单地clone从捆绑文件:
$ git clone repo.bundle
Run Code Online (Sandbox Code Playgroud)
这将创建repo为git存储库.
tho*_*ers 27
首先克隆存储库,并包含该--mirror选项.
git clone --mirror git@example.org:path/repo.git
这确保了所有远程分支也是准备好进行Bundeling的本地分支.
然后跑
git bundle create repo.bundle --all 正如JakubNarębski的答案所描述的那样