【问题标题】:How to configure Git for using it with Dropbox?如何配置 Git 以将其与 Dropbox 一起使用?
【发布时间】:2011-04-07 15:48:15
【问题描述】:

我用git已经半年多了,不知道是不是完全用git了。

首先,我一直在尝试使用 Dropbox,我觉得如果我能将它融入我的工作流程中,那就太好了,因为 Dropbox 非常方便。

  1. 我有一台台式机和一台笔记本电脑。两个都 有保管箱。
  2. 我通过以下方式初始化了我的 Dropbox 存储库 做一个git init --bare。然后 在我桌面的提交后脚本中, 我有一个git push --mirror dropbox

这样我的桌面和保管箱将始终完全镜像,这是一件好事。

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

  1. 从我的桌面拉出,这样我的 笔记本电脑的起源是台式机。
  2. 直接从保管箱中拉取,以便我的 笔记本电脑的来源是 Dropbox。

我一直在做 2 号,我不知道我做的是否正确。 我的工作流程包括:

  1. 每次我在笔记本电脑上时,我都会执行一次 git pull(因为笔记本电脑的来源是保管箱,保管箱会自行更新)
  2. 然后,当我将分支从 Dropbox 签出到本地分支时。
  3. 完成工作后,我承诺。
  4. 这是我感到困惑的地方:我是否也应该将 --mirror 推送到我的保管箱存储库(我的笔记本电脑的原始存储库)?我在这方面遇到了一些困难:有时 Dropbox 不能很好地同步,等等

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

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

【问题讨论】:

    标签: git dropbox


    【解决方案1】:

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

    1. 您使用 git bundle format:它会生成一个只有 一个 文件的裸仓库(这意味着 Dropbox 更有可能将其正确同步到您的任何计算机:它只是复制一个文件,而不是“整个结构”,你不确定你会从中得到所有的东西)。

    2. 您在每次保存时都使用增量捆绑包(同样,每次保存一个文件,很容易从另一侧拉取已完成的内容)。
      在源(笔记本电脑或台式机)和日期之后命名您的增量。
      基本上,您将从任何尚未拉取的 xxx.bundle 中拉取。

    3. 您会定期清理所有中间增量捆绑包,并将其替换为来自任何最新源的完整捆绑包

    该模型允许:

    • 简单的同步过程(一个或很少的文件)
    • 快速保存过程(使用增量捆绑包)
    • scaling:如果有多个参与者,即如果几个人正在更新同一个分支,您可以通过使用不同的远程名称引用他们的包来隔离他们的贡献(因为每个包都是一个可以从中提取的裸仓库)。

    【讨论】:

    • @nevan:感谢您的各种编辑,该帖子需要它们!
    猜你喜欢
    • 2018-02-16
    • 2012-01-04
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 2016-05-10
    • 2016-01-03
    相关资源
    最近更新 更多