2012-01-27 61 views
2

关于Git和Dropbox的问题。我使用各种在线教程设置了Git和Dropbox。当我推进我的项目时,我注意到dropbox文件夹非常小(1mb vs本地机器上的大约4个)。我很确定实际的文件没有被推到Dropbox。这是正常的吗?Git和Dropbox问题

谢谢!

+0

在你的Dropbox文件夹中,你只有git存储库,而在你的本地机器上,你有一个存储库克隆和工作文件。这应该占大约两倍的差异。 – Ravi 2012-01-27 05:14:46

+0

啊。因此,如果我的本地机器崩溃(敲木头),我能否从我的保管箱做一个全面的备份? – Astephen2 2012-01-27 05:22:53

+0

是的,您在Dropbox和您的机器上都有完整的回购副本。 – Ravi 2012-01-27 05:32:43

回答

6

因为它已经指出,Dropbox的是不分享自己的回购最安全的解决方案(见“Is this plain stupid: GIT Sharing Via DropBox?”。

Greg Bacon指出,Dropbox already retains old versions of files,这是一个有点多余什么混帐已经这样做了。

见“this discussion”(这是关于一个完整的回购备份,不只是一个裸回购虽然):

好,Dropbox的是用于同步大量文件和Git的时候变得缓慢众所周知,在设计上,创造大量的的您的硬盘上的文件。尽管如此,你可以通过定期运行git gc来鼓励将很多松散对象包装成少数打包对象。 checkoutstashcommitfetchrebasereset等我担心,如果我工作得太快,Dropbox的将开始的creating conflicted copies

同样的Dropbox将尽快你基本上什么开始同步的东西我的文件。更糟糕的是,Git的内部存储更加脆弱(Git绝不是备份方法!),并且由于Dropbox的设计目的是处理您的平均文件,所以在处理文件或文件名时太不小心了。如果那里的东西失败了,你可能会看到自己不走运。

I use dropbox with a git bundle:只有一个文件要同步。
这种方式的问题少得多(但这也意味着像钩子这样的本地设置不是我的包的一部分)。

2

您可能会考虑告诉dropbox忽略回购库中的.git目录。我使用Dropbox来保存我的文件的副本(万一我用git做了一些愚蠢的事情并且干掉了我的更改),但是我不需要dropbox来保存.git目录的副本。

在Dropbox首选项中,在高级下有一个名为“选择性同步”的部分,允许您禁用特定文件夹的同步。

+0

您能提供一些关于如何选择性地忽略.git文件夹的其他信息吗?我正在考虑使用git + dropbox,但我无法找到一个很好的方法来完成你所说的。 – 2012-05-23 21:04:12

+1

如果您单击保管箱菜单图标,并进入首选项 - >高级,您将看到“选择性同步”。只需取消选中.git目录即可。 – kolywater 2012-06-08 13:06:36

+4

不幸的是,它似乎忽略了Dropbox中的文件夹意味着它们也将从您的本地保管箱文件夹中删除,因此您必须复制.git dirs,取消选中同步中的复选框,然后让dropbox删除它们,最后移动该文件夹。 git文件夹返回。 – kolywater 2012-06-08 13:14:28