Git与Dropbox

我一直在使用git半年左右,我不知道我是否完全使用git。

首先,我一直在试用Dropbox,我觉得如果我能将它融入到我的工作stream程中,这将非常棒,因为Dropbox非常方便。

  1. 我有一个桌面和一台笔记本电脑。 两者都有保pipe箱。
  2. 我通过做一个git init --bare初始化我的dropbox回购站。 然后在我的桌面的提交后脚本中,我有一个git push --mirror dropbox

这样我的桌面和Dropbox将永远是完全镜像的,这是一件好事。

我真正的问题是:我应该如何设置我的笔记本电脑? 我一直听到一些build议:

  1. 从我的桌面拉,以便我的笔记本电脑的起源是桌面。
  2. 直接从保险箱拉,这样我的笔记本电脑的起源是保pipe箱。

我一直在做第二,我不知道我是否做对了。 我的工作stream程包括:

  1. 每当我在我的笔记本电脑上,我做一个混帐拉(因为笔记本电脑的起源是Dropbox和Dropbox更新本身)
  2. 然后,当我从保pipe箱签出一个分支到本地分支。
  3. 我完成工作后,我承诺。
  4. 这是我困惑的地方:我应该推 – 镜像到我的保pipe箱回购(我的笔记本电脑的起源回购)呢? 我在这方面遇到一些困难:有时Dropbox不能很好地同步,等等

目前,在我的笔记本电脑上执行git push --mirror origin后,在桌面上执行git branch -r 并不显示我最近的笔记本电脑提交。 有人能告诉我为什么吗?

我提到从我的桌面直接拉,因为这样我总是可以初始化拉,我百分之百确信同步完成。 使用保pipe箱我永远无法100%确定更新是否已经推送到保pipe箱服务器

如果你想添加一个中间回购容器,Dropbox可以提供:

  1. 你使用的是git bundle格式 :它只生成一个只有一个文件的回购站(这意味着Dropbox更可能正确地将其同步到任何一台计算机:它只是复制一个文件,而不是“整个结构”不知道你会得到一切回来)。

  2. 您为每次保存使用增量包(再次,每次保存一个文件,容易从另一侧拉回以完成所做的事)。
    在源(笔记本电脑或桌面)和date之后命名您的增量。
    基本上,你会从任何xxx.bundle拉你还没有拉。

  3. 你经常清理所有的中间增量包,用任何来源最新的完整包replace它

该模型允许:

  • 简单的同步过程 (一个或很less的文件)
  • 快速保存过程 (使用增量包)
  • 缩放 :如果有多个angular色,即多个人正在更新同一分支,则可以通过使用不同的远程名称引用其捆绑来隔离他们的贡献(因为每个捆绑都是可以从中进行的裸回购拉)。