在學(xué)校的時(shí)候,一直習(xí)慣在windows下搞開(kāi)發(fā),用visual stduio或是eclipse之類的ide。到了現(xiàn)在的公司之后,幾乎都是在linux下開(kāi)發(fā)的。雖然linux下有vim等編輯器,但用起來(lái)還是很不習(xí)慣。所以我往往是在尋找在windows好linux之間同步代碼的方式。這樣就可以在windows下開(kāi)發(fā),然后再傳到linux下進(jìn)行編譯,當(dāng)然這個(gè)過(guò)程越簡(jiǎn)單越好。搞了很久,有一些心得,下面是幾套方案的比較。
1、samba
我覺(jué)得samba是目前最好的解決方案。要求在linux端安裝samba服務(wù),并配置好共享目錄,然后在windows端做磁盤(pán)映射,把linux的某個(gè)目錄映射到windows下。
這個(gè)方案最大的好處是不需要人工操作,在映射的磁盤(pán)下的文件自動(dòng)同步到linux下,實(shí)時(shí)性比較好,cache機(jī)制也相對(duì)非常完善,一般不會(huì)有卡的感覺(jué)。
但是這個(gè)方案有個(gè)缺點(diǎn)是,必須在linux機(jī)器上安裝samba,目前我所在公司,對(duì)在linux服務(wù)器上安裝samba,管得比較嚴(yán),擔(dān)心有安全的隱患。因此受限于這個(gè)的限制。
一個(gè)解決的辦法就是安裝虛擬機(jī),在虛擬機(jī)中安裝與服務(wù)器一樣的操作系統(tǒng)和編譯環(huán)境,然后在虛擬機(jī)中安裝samba,再到windows下做映射。但是這個(gè)方案的問(wèn)題是虛擬機(jī)要占用一定的cpu和內(nèi)存,而且編譯速度會(huì)比較慢。最讓我忍受不了的是虛擬機(jī)導(dǎo)致windows無(wú)故重啟。我用的virtualbox,不知道是不是virtualbox的bug。因此,最終這套方案被我放棄了。
2、ssh + webdrive
webdrive是一個(gè)商業(yè)軟件,有破解版本的。它可以通過(guò)ssh將linux的某個(gè)目錄映射到windows下。但是這個(gè)方案有個(gè)嚴(yán)重的問(wèn)題,速度好像不行,會(huì)讓你感覺(jué)有卡的感覺(jué)。你想呀,開(kāi)了eclipse做開(kāi)發(fā),經(jīng)常發(fā)現(xiàn)保存一個(gè)文件要很長(zhǎng)的時(shí)間,讓你很不能忍受,建立索引的時(shí)間也比較長(zhǎng)。
這個(gè)方案是我最初的選擇,最后由于速度問(wèn)題放棄了。webdrive的下載地址:http://www.verycd.com/topics/2905875/。
3、svn
就是在windows下做開(kāi)發(fā),然后提交代碼到svn。在到linux下svn下載代碼,然后編譯。這樣做的好處是編輯的時(shí)候很方便,不用擔(dān)心速度的問(wèn)題,eclipse建立索引也很快。
但是存在的問(wèn)題是什么呢?一個(gè)是不是很方便,要先提交代碼,然后再下載代碼,然后才能編譯。這也與提交代碼的原則是相違背的,我們一般要確保我們的代碼是能編譯通過(guò)的,才提交,有的時(shí)候甚至要code review通過(guò)后才能提交代碼。對(duì)于采用CI機(jī)制管理的代碼來(lái)說(shuō),更是這樣,提交一次代碼會(huì)引起編譯機(jī)的編譯和跑單測(cè)。
因此這種方案也不是很可取。
4、cwRsync
在linux下,我們都知道有一個(gè)很好的同步工具rsync。其實(shí)在windows下也有一個(gè)rsync的實(shí)現(xiàn),叫做cwRsync,下載地址:http://sourceforge.net/projects/sereds/files/cwRsync/4.0.3/
我們只要在windows下裝上rsync的客戶端,然后每次寫(xiě)完代碼后,用rsync將代碼同步到linux,然后到linux端進(jìn)行編譯。rsync是增量同步的,速度還是很快的。
這樣在windows端搞個(gè)腳本,每次寫(xiě)完代碼,運(yùn)行一下同步代碼,就可以到linux下進(jìn)行編譯了,還是比較方便的。這是我目前使用的辦法。
由于這個(gè)東東要用到ssh,可能需要輸入密碼,這不是很方便。我的解決方案是用sshpass來(lái)搞定。我用cygwin編了個(gè)sshpass就搞定了。
不知道各位大大還有沒(méi)有別的方法,有的話,請(qǐng)不吝賜教。
新聞熱點(diǎn)
疑難解答
圖片精選