我打算从 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 备份
全面披露:我为制作此备份解决方案的公司工作。