Git与Dropbox
我一直在使用git半年左右,我不知道我是否完全使用git。
首先,我一直在试用Dropbox,我觉得如果我能将它融入到我的工作stream程中,这将非常棒,因为Dropbox非常方便。
- 我有一个桌面和一台笔记本电脑。 两者都有保pipe箱。
- 我通过做一个
git init --bare
初始化我的dropbox回购站。 然后在我的桌面的提交后脚本中,我有一个git push --mirror dropbox
。
这样我的桌面和Dropbox将永远是完全镜像的,这是一件好事。
我真正的问题是:我应该如何设置我的笔记本电脑? 我一直听到一些build议:
- 从我的桌面拉,以便我的笔记本电脑的起源是桌面。
- 直接从保险箱拉,这样我的笔记本电脑的起源是保pipe箱。
我一直在做第二,我不知道我是否做对了。 我的工作stream程包括:
- 每当我在我的笔记本电脑上,我做一个混帐拉(因为笔记本电脑的起源是Dropbox和Dropbox更新本身)
- 然后,当我从保pipe箱签出一个分支到本地分支。
- 我完成工作后,我承诺。
- 这是我困惑的地方:我应该推 – 镜像到我的保pipe箱回购(我的笔记本电脑的起源回购)呢? 我在这方面遇到一些困难:有时Dropbox不能很好地同步,等等
目前,在我的笔记本电脑上执行git push --mirror origin
后,在桌面上执行git branch -r
并不显示我最近的笔记本电脑提交。 有人能告诉我为什么吗?
我提到从我的桌面直接拉,因为这样我总是可以初始化拉,我百分之百确信同步完成。 使用保pipe箱我永远无法100%确定更新是否已经推送到保pipe箱服务器
如果你想添加一个中间回购容器,Dropbox可以提供:
-
你使用的是
git bundle
格式 :它只生成一个只有一个文件的回购站(这意味着Dropbox更可能正确地将其同步到任何一台计算机:它只是复制一个文件,而不是“整个结构”不知道你会得到一切回来)。 -
您为每次保存使用增量包(再次,每次保存一个文件,容易从另一侧拉回以完成所做的事)。
在源(笔记本电脑或桌面)和date之后命名您的增量。
基本上,你会从任何xxx.bundle拉你还没有拉。 -
你经常清理所有的中间增量包,用任何来源最新的完整包replace它
该模型允许:
- 简单的同步过程 (一个或很less的文件)
- 快速保存过程 (使用增量包)
- 缩放 :如果有多个angular色,即多个人正在更新同一分支,则可以通过使用不同的远程名称引用其捆绑来隔离他们的贡献(因为每个捆绑都是可以从中进行的裸回购拉)。