有没有一种简单的方法来备份整个git repo,包括所有的分支和标签?
发布于 2011-04-07 16:44:00
干脆克隆一份怎么样?
git clone --mirror other/repo.git
每个存储库都是其遥控器的备份。
发布于 2019-01-04 21:58:26
对KingCrunch和VonC的伟大答案进行了扩展
我把它们组合在一起:
git clone --mirror git@some.origin/reponame reponame.git
cd reponame.git
git bundle create reponame.bundle --all
在此之后,您就有了一个名为reponame.bundle
的文件,可以很容易地复制该文件。然后,您可以使用git clone reponame.bundle reponame
从该库创建一个新的普通git存储库。
请注意,git bundle
只复制指向存储库中某个引用(分支或标记)的提交。因此,纠缠的提交不会存储到包中。
发布于 2014-05-29 10:47:51
扩展一些其他的答案,这是我所做的:
设置存储库:git clone --mirror user@server:/url-to-repo.git
然后,当您想要刷新备份时:从克隆位置执行git remote update
。
这将备份所有分支和标记,包括稍后添加的新分支和标记,但值得注意的是,被删除的分支不会从克隆中删除(这对于备份可能是一件好事)。
这是原子的,所以不会有简单拷贝的问题。
https://stackoverflow.com/questions/5578270
复制相似问题