SO 上有一些与 git 存储库导出和导入相关的类似帖子,但所有答案都不完整。所以我在这里问单独的问题。
我在 eclipse 中使用 EGIT 来处理 git SCM。
如何将 git 存储库导出到 zip 文件/文件夹(包含所有分支、标签和历史记录) 并将相同的存储库导入回 Eclipse?
我试过了,
但是在 Eclipse 中导入回来时它不起作用。git archive HEAD --format=zip >~/abc.zip
还有其他方式导入和导出git仓库吗?
看了@VonC 的答案后,我这样做了
git bundle create ~/abc.bundle --all
git bundle list-heads ~/abc.bundle
<pre>
refs/heads/master
refs/remotes/origin/branch1
refs/remotes/origin/branch1
refs/remotes/origin/branch3
refs/remotes/origin/master
refs/remotes/origin/branch4
.....
refs/tags/tag1
refs/tags/tag2
refs/tags/tag3
....</pre>
git clone -b master ~/abc.bundle ~/newrepo/xyz/
但是当我尝试在 Eclipse 中导入这个 git 存储库时,我一直只获得 master 分支,就像在克隆时使用
master
一样。是否可以通过一个命令克隆所有分支?
git bundle
(请参阅“备份本地 Git 存储库”)。
cd /path/to/your/repo
git bundle create ../repo.bundle --all
但是,在 EGit 可以看到导出/导入的存储库之前,您必须再次克隆它,因为 EGit 尚不支持将捆绑文件作为存储库。
当我尝试在 Eclipse 中导入这个 git repo 时,我只得到 master 分支,就像在克隆时我使用 master 一样。是否可以通过一个命令克隆所有分支?
在克隆的存储库(从捆绑包中克隆的存储库)中执行
git branch -avvv
。origin/xxx
)。
然后 Eclipse 应该能够基于 那些远程跟踪分支之一列出并创建一个新分支,如“如何在 EGit 中创建正确的新本地和远程分支组合?”。
要从捆绑包中恢复所有分支,请参阅“从 git 捆绑包中恢复所有引用”:
您需要镜像克隆它。