不少程序員用戶,直接將自己的代碼放在堅果云同步文件夾中,每次修改自動同步,這樣做有幾個問題:
- 堅果云的版本歷史是自動保存的,不能添加版本信息。對于代碼而言,不方便找回和比對歷史代碼;
- 專業(yè)的代碼管理工具(Git/Hg/SVN)能夠很容易查看用戶對所有代碼進行的每次修改,易于分析bug的來源。而堅果云不能提供這樣的功能。
- 如果將eclipse, Visual Studio等IDE的workspace直接放于堅果云中,假如同步不及時造成沖突,而IDE自動生成文件的沖突無法解決,可能導(dǎo)致IDE無法正常打開。
- 編譯,重構(gòu)等自動化工作引發(fā)的同步,容易導(dǎo)致大量的帶寬占用。
幸運的是,我們推薦用如下的方法利用堅果云同步代碼,可以完全保留代碼管理工具的長處,同時利用堅果云提供的自動同步和備份功能。 對于初學(xué)者,我們推薦使用hg管理代碼,因為其更簡單易學(xué)。
假如你用的Hg,按照如下流程操作:
- ~/projects $> hg init (注釋:初始化hg repository)
- ~/projects $> hg add
- ~/projects $> hg commit -m “first commit”
- ~/projects $> mkdir -p ~/Nutstore/hg/project (注釋:在堅果云中創(chuàng)建bare hg repository)
- ~/projects $> cd ~/Nutstore/hg/project
- ~/Nutstore/hg/project $> hg init
- ~/Nutstore/hg/project $> cd ~/project (注釋:push代碼到堅果云中)
- ~/project $> echo “[paths]\ndefault = ~/Nutstore/hg/project\n” > .hg/hgrc
- ~/project $> hg push
這樣在所有電腦上都可以正常進行 hg push & hg pull,以后每次修改代碼只需commit,然后將代碼push到~/Nutstore/hg/project即可享受到hg+堅果云的所有好處。如下:
- ~/project $>hg push
假設(shè)你用的是Git,當(dāng)前的開發(fā)目錄叫“~/projects”,而堅果云路徑為“~/Nutstore”,進行如下操作:
- ~/projects $>git init (注釋:初始化git repository)
- ~/projects $> git add .
- ~/projects $> git commit -m “first commit”
- ~/projects $> mkdir -p ~/Nutstore/git/project (注釋:在堅果云中創(chuàng)建bare git repository)
- ~/projects $> cd ~/Nutstore/git/project
- ~/Nutstore/git/project $> git init –bare
- ~/Nutstore/git/project $> cd ~/project (注釋:push代碼到堅果云中)
- ~/project $> git remote add orig ~/Nutstore/git/project
- ~/project $> git push orig master
這樣在所有電腦上都可以正常的進行g(shù)it pull & git push,以后每次修改代碼只需commit,然后將代碼push到~/Nutstore/git/project即可享受到git+堅果云的所有好處。如下:
- ~/project $> git push orig master
你也可以在~/Nutstore/git/project下定期運行GC(垃圾回收),減少文件數(shù)目和節(jié)約空間,如下:
- ~/Nutstore/git/project> git gc
備注:
如果你想了解git和hg的用法,下面是很好的入門材料: