坚果云+git,有效管理您的代码

不少程序员用户,直接将自己的代码放在坚果云同步文件夹中,每次修改自动同步,这样做有几个问题:

  • 坚果云的版本历史是自动保存的,不能添加版本信息。对于代码而言,不方便找回和比对历史代码;
  • 专业的代码管理工具(Git/Hg)能够很容易查看用户对所有代码进行的每次修改,易于分析bug的来源。而坚果云不能提供这样的功能。
  • 如果将eclipse, Visual Studio等IDE的workspace直接放于坚果云中,假如同步不及时造成冲突,而IDE自动生成文件的冲突无法解决,可能导致IDE无法正常打开。
  • 编译,重构等自动化工作引发的同步,容易导致大量的带宽占用。

幸运的是,我们推荐用如下的方法利用坚果云同步代码,可以完全保留代码管理工具的长处,同时利用坚果云提供的自动同步和备份功能。 对于初学者,我们推荐使用hg管理代码,因为其更简单易学。


假设你用的是Git,当前的开发目录叫“/projects”,而坚果云路径为“/Nutstore”,进行如下操作:

  1. ~/projects $>git init (注释:初始化git repository)
  2. ~/projects $> git add .
  3. ~/projects $> git commit -m “first commit”
  4. ~/projects $> mkdir -p ~/Nutstore/git/project.git (注释:在坚果云中创建bare git repository)
  5. ~/projects $> cd ~/Nutstore/git/project.git
  6. ~/Nutstore/git/project.git $> git init –bare
  7. ~/Nutstore/git/project $> cd ~/project (注释:push代码到坚果云中)
  8. ~/project $> git remote add orig ~/Nutstore/git/project.git
  9. ~/project $> git push orig master

这样在所有电脑上都可以正常的进行git pull & git push,以后每次修改代码只需commit,然后将代码push到~/Nutstore/git/project即可享受到git+坚果云的所有好处。如下:

  • ~/project $> git push orig master

你也可以在~/Nutstore/git/project.git 下定期运行GC(垃圾回收),减少文件数目和节约空间,如下:

  • ~/Nutstore/git/project.git> git gc

上面是坚果云官网写的如何同步,那么接下来我写下如何在其他电脑上使用.假如你的坚果云路径为“/Nutstore”,而你的开发目录为“/projects”.

  1. ~/projects $>git clone ~/Nutstore/project.git

然后就可以用各种各样的git操作了.相当于你有两个本地服务器.每次都提交到本地服务器了,然后坚果云来保持你这两个服务器文件一致性.

我感觉这同步盘的想法真是nice.这样我们就可以自己搭建私有服务器了.

最近360云盘已经不行了,数据都需要自己备份.而同步盘则不需要担心数据备份的问题.因为数据你自己本地就有一份.唯一需要担心的是同步功能什么时候会收费或者取消.23333