是否可以使用Dropbox托管一个裸Git存储库,以共享代码?

Dan*_*ark 21 git dropbox

我意识到有类似的问题,但我的问题略有不同:我想知道是否通过多台计算机上的同步Dropbox文件夹共享裸存储库是否可以通过Git 共享代码

换句话说:通过Dropbox共享一个Git repo,就像从一个集中位置共享它一样,例如,通过SSH或HTTP?

repo是否在每个人的本地驱动器上更新?这与通过共享网络驱动器共享Git仓库相同吗?

注意:不是一个经验问题:它似乎工作正常.我在问Git repo的结构是否与这种共享方式兼容.

编辑为了澄清/重复,我说的是将Dropbox上的Git存储库保存为裸存储库.我不是在谈论保留Dropbox中受源代码控制的实际文件.

And*_*ett 20

我认为没有理由丢失数据--Git的存储库结构是健壮的,并且在存储库存储本身中,具有相同名称的文件将始终具有相同的内容(这不适用于分支名称).

但是,它不会有效率.Git的传输协议意味着它通常只会传输一次更改.使用Dropbox,如果两个人打包稍微不同的存储库,生成的包可能包含重要的公共数据而不相同,因此DropBox会同步两个包,这是低效的.

您可能还会发现,虽然数据全部存在,但由于两个副本同时更新了相同的分支,因此最终会出现未跟踪的更改.这可以通过确保从每个副本推送到不同的分支来解决,但这将是一个痛苦.


Jo *_*iss 15

我很确定这是不安全的.Git存储库中有很多移动部件,而Dropbox很容易破坏其中一个.例如,您可能最终在目录中使用不正确的分支提示(主数据等)refs,或者如果objects/info/packs文件内容错误,您的对象存储可能会停止工作.Git repos相当简单而且健壮,但它们不仅仅是愚蠢的牢不可破的存储空间.

通过SSH,git或HTTP访问远程存储库,甚至在网络文件系统上本地访问远程存储库是安全的,因为只能通过git进程访问存储库,这样可以确保所有内容都按正确的顺序移动到位.但是Dropbox没有对订购做出任何保证,因此您可能会丢失数据.

只需使用Git服务器(或任何SSH服务器) - 如果您没有,请考虑使用GitHub,BitbucketGitLab.它可以为您节省很多麻烦,而且使用Dropbox共享的本地存储库并不困难(您只需要SSH URL而不是本地路径).

  • Github有约束(必须是开源的,或者你必须支付),但是Unfuddled(例如)没有.但是,关于Dropbox的观点. (2认同)

Pat*_*otz 12

如果两个用户断开连接,做一些工作,推送到裸存储库的本地副本然后继续,会发生什么?在这种情况下,当Dropbox尝试同步时你会遇到问题 - 包文件和分支提示会有所不同,而Dropbox无法解决这个问题.这是我能看到的唯一问题.我认为即使两个用户都已连接,如果他们碰巧同时推入他们的本地裸存储库,也会发生同样的事情.


Kri*_*son 9

我在使用Dropbox和Git以及Mercurial时遇到了问题.存储库文件经常被破坏,可能是由于Dropbox的同步不完美,特别是当从多个地方进行更改时.此外,Dropbox在后台运行,因此在同步操作过程中,很容易意外地尝试使用存储库(或重新启动计算机).

我喜欢Dropbox,但它不是共享驱动器或"真正的"远程Git存储库的良好替代品.


kub*_*ubi 5

我过去常常使用MobileMe,但计算机一直不同步.每台计算机都有一个不同于云中的回购,因为在MobileMe中没有"合并"的概念(我认为,DropBox也是,对吗?)我最终只需要选择一个版本保留和丢失一些编辑,或复制编辑并重新应用它们.自从我改用中央Git仓库后,生活变得更加轻松.

如果它到目前为止对你有用,那很好.我想,如果两个开发者同时推动他们当地的裸露回购,你将会遭受很多痛苦.如何DropBox知道哪个是对的?