菜鸟笔记
提升您的技术认知

git 线下传输仓库-ag真人游戏

有时候另一个人不能从远程直接clone仓库或者说因为很大,clone很慢或其它原因,我们可以使用bundle命令将git仓库打包,然后通过u盘或者是其它介质拷贝给他,这样他拿到打包好的仓库后可以unbundle成仓库,达到了共享的目的,这样有时候是很方便的。

我们看看具体怎么做:

首先我们进入仓库,git status一下看看当前的仓库状态。

然后开始打包:

git bundle create zhc.bundle head master

counting objects: 6, done.

delta compression using up to 2 threads.

compressing objects: 100% (2/2), done.

writing objects: 100% (6/6), 447 bytes, done.

total 6 (delta 0), reused 0 (delta 0)

head master说明我们想生成关于master分支的所有信息。然后我们就看到生成了一个zhc.bundle文件,将此文件拷贝给其他人。另一个人拿到此文件后,可以根据它创建本地仓库。开始解包成本地仓库:

git clone zhc.bundler repo

然后我们就看到多了一个repo文件夹,此文件夹便是那个git仓库了。

有时候我们还想只打包其中的一些commits,而不是一个分支上的所有commits,那么我们可以使用range commit来告诉bundle要打包哪些commits。

git bundle create zhc.bundle master ^origin/master

这条命令的意思是只打包那些在master中而不在origin/master分支中的commits。

拿到此bundle后,可以先验证一下:

git bundle verify ../zhc.bundle

the bundle contains 1 ref

84dx35f49 refs/heads/master

the bundle requires these 1 ref

sd2ffe8sdf hongchangfirst commit

../zhc.bundle is okay

看到此bundle是完整的并且含有你想要的内容,然后看一下这个bundle文件的内容看看我们可以引入哪些commit。

git bundle list-heads ../zhc.bundle

然后我们就可以开始引入了:

git fetch ../zhc.bundle master:zhc-branch

就是将bundle中的master分支中的commits加入到本地的zhc-branch上。

网站地图