2011-06-09 43 views
12

我正在与仅使用Dropbox作为版本控制和协作工具的人员合作。我不打算改变他们的行为。另一方面,我是一个沉迷于混帐的人,并且希望将其用于个人用途。使用dropbox和git而不使用conflitcts

他们是否有一个.git目录没有在Dropbox同步它?

感谢

+0

这不是编程相关,你要求Dropbox技术支持。 – meagar 2011-06-09 16:27:51

+0

如果你想为此提供更好的解决方案,请给我们一些帮助: https://www.dropboxforum.com/hc/communities/public/questions/201289669-Ignore-folder-without-selective-sync- – 2015-04-07 02:01:11

回答

6

根据Dropbox的论坛this thread,你不能忽略/排除的文件夹。有Selective Sync但这也不是你所需要的。

所以现在最好的解决办法就是手动同步,例如用rsync(1)

  1. 创建一个新的文件夹某处
  2. 同步此文件夹使用rsync在Dropbox的文件夹。我建议为此写一个脚本。
  3. 添加git仓库在这个新文件夹
  4. 使用第二rsync的脚本来更新的Dropbox文件夹(使用--exclude .git这里)
8

我可以看到两个选项:

  1. 使用在https://stackoverflow.com/a/8603156/112019中给出的提示将.git存储库文件存储在外部位置(如〜/ gitdropbox/myproject.git),并使用--git-dir和--work-tree。为了明确用法,您还可以在dropbox已同步的文件夹中添加一个.git 文件(不是目录),其内容为“gitdir:/path/to/repo.git”,以便您可以正常使用git。

  2. 使用Dylan R.在https://forums.dropbox.com/topic.php?id=52360#post-387887中描述的方法忽略.git文件夹。然后在保管箱系统中保留empy .git文件夹,并使用选择性同步功能在本地忽略它,然后初始化存储库。请注意,当您通过选择性同步删除现有的.git文件夹时,Dropbox会删除它,因此如果您有要保留的历史记录,请确保您有本地备份。

13

选择性同步似乎是解决方案,但要小心:当您将文件夹标记为排除文件夹时,Dropbox会将其删除。

只需备份您的.git文件夹,将其标记为排除在外Selective Sync,dropbox将删除它。当您复制文件夹时,Dropbox不会再次删除它,并且它将缺少Dropbox同步标记(及其子项)。