2012-02-17 66 views
7

我经常将笔记本电脑备份到外置硬盘。 rsyncing git是否在足够好的备份解决方案上重复使用,或者是否存在此方法的任何问题?Rsyncing git repo足够好的备份解决方案吗?

+0

如果你需要私人回购,并使用它作为备份,你可以使用类似bitbucket的东西... – three 2012-02-17 20:43:19

+0

@three我不信任第三方,当涉及到我的源代码 – DavidW 2012-02-17 20:45:43

+0

那么,然后只是rsync到本地硬盘。确保万一发生火灾,外部硬盘驱动器也不会被破坏。 – three 2012-02-17 20:46:29

回答

6

rsync是一个很好的解决方案。在执行备份之前运行git gcgit repack(不带任何参数)可能是个好主意,这可能会显着减少文件数量,并增加下次数据不会发生太大变化的机会。也不会丢失任何数据。

请参阅http://sethrobertson.github.com/GitBestPractices/#backups了解为什么使用git这样做并不是一个好的解决方案。

+1

使用'rsync'(或'tar'或其他)与'git clone''''克隆'不克隆本地东西,如st Big。 – 2013-03-21 04:17:06

0

我有一个回购我继续托管,我推。如果我想在某个地方工作,则可以克隆它,然后在完成时推送更改。

你也可以rsync,但我发现克隆一个repo更容易,然后用它作为我的主要开发点。我认为使用一种工具可能会更容易,但是你的里程可能会有所不同。

+0

他在询问有关做备份的问题,而不是在做回购的工作! – 2015-04-19 04:17:37

2

如果你真的想备份一切(包括钩子和私人文件),rsync很有趣。
不过:

  • 它并不能保证完整性您的回购一旦sync'ed的(即仍然由rsync'ed回购工作的git?)
  • 它有概率较高数据损坏(你必须拯救许多许多文件)

一个更好的(和更清洁的)解决方案是使用git bundle(这基本上是一个酒吧回购SE作为一个文件)。
您更新您的本地软件包,并将其保存到远程媒体上。
除此之外,这次你只需要“rsync”(实际上一个简单的副本就足够了)单个文件
你可以直接克隆或从该文件中提取该捆绑。

+0

是的,git可以在回购的“手动拷贝”上正常工作。 – ignis 2013-01-03 23:42:10

+0

一个文件?!?这将是一个巨大的文件每天传输! – 2015-04-19 04:16:28

+1

@Ale这个包可以是递增的:这仍然是一个文件,但是要小得多。 – VonC 2015-04-19 04:20:57