使用Dropbox和Git而不会产生冲突
我正在与仅使用Dropbox作为版本控制和协作工具的人员合作。 我不打算改变他们的行为。 另一方面,我是一个沉迷于混帐的人,并且希望将其用于个人用途。
无论如何他们有一个.git目录没有在Dropbox同步它?
谢谢
根据Dropbox论坛中的这个线程,你不能忽略/排除文件夹。 有选择性同步,但这也不是你所需要的。
因此,现在最好的解决方案是手动同步,例如使用rsync(1)
:
rsync
将此文件夹与Dropbox中的文件夹同步。 我建议为此写一个脚本。 --exclude .git
) 选择性同步似乎是解决方案,但要小心:当您将文件夹标记为排除文件夹时,Dropbox会将其删除。
只需对.git文件夹进行备份,将其标记为已通过选择性同步排除,Dropbox将删除它。 当您复制文件夹时,Dropbox不会再次删除它,并且它将缺少Dropbox同步标记(及其子项)。
我可以看到两个选项:
使用https://stackoverflow.com/a/8603156/112019中提供的技巧将.git存储库文件存储在外部位置(如〜/ gitdropbox / myproject.git),并使用--git-dir和--work-树。 为了明确用法,您还可以在Dropbox同步文件夹中添加一个.git 文件 (不是目录),其内容为“gitdir:/path/to/repo.git”,这样就可以正常使用git。
使用Dylan R.在https://forums.dropbox.com/topic.php?id=52360#post-387887中描述的方法忽略.git文件夹。 然后在保管箱系统中保留empy .git文件夹,并使用选择性同步功能在本地忽略它,然后初始化存储库。 请注意,当您通过选择性同步删除现有的.git文件夹时,Dropbox会删除它,因此如果您有要保留的历史记录,请确保您有本地备份。