如何备份 git repo?

如何备份 git repo?

我打算从 SVN 切换到 git。使用 svn 时,当我想备份 repo 文件夹时,只需复制它即可。但是 git 没有这个文件夹,我该怎么办?

我是否应该在单独的驱动器上创建一个克隆,然后从我的项目中提取更新?然后我可以刻录/存档此文件夹,它将拥有所有历史记录?

这可能很明显,但我想确保备份时安全。我仍然假装有一个根存储库。

答案1

你只需复制它即可。git使用 repo 文件夹,它只是在普通目录视图中隐藏。(该文件夹在 *nix 系统上命名.git,因此只有使用时才会出现ls -a。我假设它在 Windows 中设置了“隐藏”属性,但我从未在 Windows 环境中使用过 git,所以我不确定它在那里是如何处理的。)

答案2

akira 的回答是正确的,但您可以添加 --mirror 来创建一个裸仓库(用于稍微小一点的备份)。

我们使用以下策略(几乎完全相同):

git clone --mirror yourrepo backup.repo
tar cjf backup.repo.tar.bz2 backup.repo
scp backup.tar.bz2 ssh://somewhereelse

然后,从备份中恢复:

tar xjf backup.repo.tar.bz2
git clone backup.repo yourrepo

答案3

我在用着git 捆绑. 要制作副本文件(一个备份文件),请执行:

git bundle create backup.bundle master

要使用分支 master 恢复存储库,只需克隆 backup.bundle 文件:

git clone backup.bundle -b master my-project

答案4

我不想重复其他答案(备份 .git 目录是一个很好的开始,如果你是唯一一个在 repo 上工作的人,它应该会很好用)所以我只想补充一点,你可以尝试我们的github 备份
全面披露:我为制作此备份解决方案的公司工作。

相关内容