我正在处理一个与我的学位有关的项目,目前存储在我的GitHub仓库中。不久后我将把它交给客户。
我想知道是否有一种方法可以导出整个仓库,包括所有分支和相关历史记录,以便在将来交给其他开发人员之前进行存储?
我想知道是否有一种方法可以导出整个仓库,包括所有分支和相关历史记录,以便在将来交给其他开发人员之前进行存储?
(1) 使用 git archive 命令(备份一个分支),例如以下命令(假设您正在 Git 本地仓库内):
git archive master --format=zip --output=java_exmamples.zip
你会看到文件java_exmamples.zip
(在同一文件夹中)是主分支的备份。
(2) 使用git bundle(用于备份所有分支)
一个真实的例子:
git clone --mirror https://github.com/donhuvy/java_examples.git
cd java_examples.git/
git bundle create repo.bundle --all
repo.bundle
是您需要的文件(完整备份),位于相同目录下。
如何从文件 repo.bundle
进行恢复:
git clone repo.bundle
参考资料
https://git-scm.com/docs/git-archive
https://git-scm.com/docs/git-bundle
http://rypress.com/tutorials/git/tips-and-tricks#bundle-the-repository
git bundle
):git bundle create /tmp/myrepo.bundle --all
cd /a/new/path
git clone /tmp/myrepo.bundle myrepo
cd myrepo
pwd
/a/new/path/myrepo