使用Dropbox——上下班不再携带电脑

Dropbox是什么?

请参考官网或者搜索关键词Dropbox

Dropbox可以给我带来什么?

  • 下班前编辑了一半的代码、文档,到家后可以继续
  • 上班时修改了IDEA的一个快捷键,回家发现已经生效了
  • 甚至连git的工作目录的状态都一模一样,完全不需要和remote交互
  • 在家往Alfred中增加了一个workflow,上班后发现已经出现在工作电脑上
  • Zotero添加了一篇文献,回家想再研究的时候已经就可以打开了
  • 所以呢,上下班可以和电脑说拜拜

那么如何实现?

基本要求

  • 系统保持一致,我目前统一使用Mac OS X 10.11.6
  • 软件保持一致,包括但不限于用户名(家目录),各种软件、运行库(JDK)版本

同步代码工作目录(jmh-samples为例)

目标是同步src, pom.xml, .git,不同步.idea,target,jmh-samples.iml文件,原始目录结构如下:

$ tree ~/SDK/code/jmh-1.17.3/jmh-samples
├── .idea              400k
├── .git               385k
├── src                380k
│   ├── main
│   │   ├── java
│   │   └── resources
│   └── test          
│       ├── java
│       └── resources
├── target             13M
├── jmh-samples.iml    4k
└── pom.xml            8k

如果我们可以把工作目录做成如下结构,就可以实现目标。

  • . origin目录指向Dropbox的jmh-samples,方便cd进去使用git,如果命名为.gitIDEA就不会显示这个目录
  • .idea, jmh-samples.iml, target存在于SDK的jmh-samples目录下
  • pom.xml, src目录指向Dropbox的jmh-samples下的文件
  • .git目录只存在于Dropbox的jmh-samples下
$ ll ~/SDK/code/jmh-1.17.3/jmh-samples
lrwxr-xr-x   .origin -> ~/Dropbox/code/jmh-1.17.3/jmh-samples
drwxr-xr-x   .idea
-rw-r--r--   jmh-samples.iml
lrwxr-xr-x   pom.xml -> ~/Dropbox/code/jmh-1.17.3/jmh-samples/pom.xml
lrwxr-xr-x   src -> ~/Dropbox/code/jmh-1.17.3/jmh-samples/src
drwxrwxrwx   target

同步软件的配置

Mac(包括其他Linux系统)比Windows在这方面有优势的是Mac是基于文件的,并且Mac的配置一般会在~/Library下,Mac的软件xxx.app也是不允许修改包内容的。而Windows基于注册表的,一些软件会甚至会把配置放在各种地方(家目录,C:\Windows目录,注册表)。所以同步配置这件事情上,Mac会比Windows软件容易得多。

下面以开发软件IDEA为例

  1. 在A电脑上在Library中搜索IDEAfind ~/Library -name "*Idea*" -ls
  2. IdeaIC2016.3软连接到Dropbox中
  3. 在B电脑上新建软连接,并且备份原文件IdeaIC2016.3.old
$ find ~/Library -name "*Idea*" -ls
drwxr-xr-x  ~/Library/Application Support/IdeaIC2016.3
drwxr-xr-x  ~/Library/Caches/IdeaIC2016.3
drwxr-xr-x  ~/Library/Logs/IdeaIC2016.3
lrwxr-xr-x  ~/Library/Preferences/IdeaIC2016.3 -> ~/Dropbox/app/IDEA/Preferences/IdeaIC2016.3
drwxr-xr-x  ~/Library/Preferences/IdeaIC2016.3.old

▲上面是最终结果,CachesLogs目录可以忽略,配置文件常常存在于目录Application SupportPreferences中,这边没有同步Application Support中的IdeaIC2016.3,需要注意的是多台电脑上的JDK版本和安装路径要保持一致。

使用Dropbox——上下班不再携带电脑_第1张图片
我目前已经同步的软件数据、配置

你可能感兴趣的:(使用Dropbox——上下班不再携带电脑)