我需要导出一个git存储库内容并将其导入目标存储库.我知道有两种方法可以做到,但它们并没有解决我的问题
a)将源存储库添加为远程存储库并对目标进行合并.我不能使用它,因为两个存储库不在同一个网络上
b)使用git archive并将内容复制到目标.在这个git存档中,修订信息会丢失.
我需要一些存档和版本历史记录,并使我能够合并到目标中.如何才能做到这一点?
ant*_*tak 49
git bundle 是为了这个目的而提供的.
例:
整个捆绑您的源存储库
git bundle create my_repo.bundle --all
把``my_repo.bundle''带到目标所在的位置
从目标中,加载源提交对象
git bundle unbundle my_repo.bundle
...从那时起,您可以将您想要的源提交合并/转换/樱桃选择到您的目标存储库中,以获取您的内容.
否则,拉动工作原理相同:
git pull my_repo.bundle
与克隆相比,捆绑更容易传输,因为它们较小,因为您的文件未在其签出状态下携带.
使用bundle的其他原因:
与使用clone --bare(不检出文件)不同,捆绑包是作为单个文件创建和打包的,因此您不需要额外的压缩/压缩包.
你也可以简单地tar你的源存储库(或只是.git目录),但你将承载在.git /下构建的所有多余的缓存和垃圾.
| 归档时间: |
|
| 查看次数: |
12894 次 |
| 最近记录: |