天天看點

談談去那裡找開源項目前言尋找開源項目閑聊一下版本控制器

什麼時候開始接觸開源這個詞呢?貌似,是某老師一直有提,但是,一直沒有教我們如何參與開源項目,哎..估計大學老師都這樣子了.後來,學習如何使用cvs,svn,git,mercurial等等工具以後,終于,了解開源項目的整個管理以及參與的流程,走了不少彎路,不過,弄懂了還算不錯.在我學會使用版本控制器以及,那些網站提供開源服務,還有那些開源的項目如何下載下傳的時候,曾經嘗試過在學校開展一下開源項目活動,利用code google 進行代碼的管理,google小組進行讨論,gmail進行交流,可惜的是,到最後,大家連個svn都用不好,最後,不了了之.我後來思考了一下,造成這樣的原因,首先,大家對于新鮮事物的接受能力不強,他們對于協同工作的了解是用U盤把代碼拷來拷去友善直接.不願意學習什麼是版本号,什麼是版本分支,什麼是合并,以及如何解決代碼沖突,覺得還不如用U盤直接拷代碼來得友善.其次,就是老師,連老師都不會賴得教版本管理,也就隻有等我們出去工作的時候才知道有這麼一樣東西,白白浪費了最重要大學那幾年學習開源項目的黃金時間. 

一般而言,我們都是在我們使用某技術以後一段時間,才發現原來是開源的,然後,才去下載下傳.有些開源軟體有自己搭建的伺服器,不過,對于,大部分開源項目都是使用專門的托管網站進行管理.是以,高效的尋找那些開源項目,了解有那些項目托管網站就非常必須

<a target="_blank" href="http://code.google.com/">Code Google</a>

支援的版本控制器

使用友好度

SVN

Git

Mercurial

支援

在這麼多的項目托管網站中,我個人感覺,code google是最簡單,首先,它提供的豐富齊全的幫助文檔,不但如此,這些幫助文檔很多都有相應的中文版本,對于,那些初次接觸同學來講,實在是一個很好的學習機會,不過,有一點值得注意的是,在正常的管道下,你是永遠都擷取不到項目的密碼,這點,我相信學程式設計都知道,除了密碼這點,其它都可以無障礙使用.

<a target="_blank" href="http://sourceforge.net/">Souceforge</a>

對于,Souceforge曆史,我不是很了解,隻是接觸的很多開源項目都使用Souceforge進行托管,Souceforge的使用相對于code google就有點複雜了,而且,文檔全是英語,對于英語苦手而言實在有些難度.

<a target="_blank" href="http://github.com/">Github</a>

不支援

很多知名的開源的軟體都使用了Github進行托管,免費賬号提供300m.不過,個人對于git不是很熟悉,就不做過多的評價.

<a target="_blank" href="http://www.codeplex.com/">CodePlex</a>

微軟旗下的一個項目托管網站,文檔依然隻有英語,不過MSDN有某些項目中文的介紹,微軟的項目偏多,學習微軟那些技術的同學必去的一個項目托管網站.

<a target="_blank" href="http://www.codeproject.com/">Codeproject</a>

看了一下,算不上一個傳統意義上的項目托管網站,因為,我注冊了一個号找了很久,到找不到一個建立項目的選項,裡面的開源項目的代碼也找不到一個用版本控制器下載下傳的連結.我就姑且把這個網站定位為一個用項目來進行廣泛讨論的網站,因為,這個網站,更多的是讨論,還是讨論,例外還有一些教程,可以說得上是一個很好的學習網站.額外說一下.這個網站的讨論區,還提供了中國版塊…

怎麼都是些國外的?其實,我們中國也有類似的托管網站,例如淘寶的淘蝌蚪,盛大的Teamhost,不過,鑒于上面的項目還比較少,所有就不做過多介紹.

最後,知道有這些網站以後,還怕沒有優秀的開源項目學習嗎?

知道這些網站以後,你還需要一款專門的軟體.

如果你是使用eclipse的可以參考我收集的eclipse下這些項目控制器的相應的插件

<a href="http://youxilua.blog.51cto.com/3357586/773011">http://youxilua.blog.51cto.com/3357586/773011</a>

對于版本控制器的使用,都可以用來寫書了,網上這部分教程也很多,這裡就不做過多的介紹,下面說下我的感想.

版本控制器可謂是入門容易,使用難,精通更是難上難.版本控制的入門,就是知道如何使用這個工具進行下載下傳,相信這點會軟體操作都會使用.但是,使用起來就有點考究了.這裡的使用,是利用版本控制器,進行項目托管.如果,你是幾個人開發一個軟體,不想用U盤直接把代碼拷來拷去這樣的開發,就需要懂的用版本控制器,進行代碼的管理.版本控制器的難用的地方,就在于幾個人同時修改了一段代碼,以及,其他人更新的時候,舊代碼與新代碼發生沖突等等各種蛋疼的問題,往往讓一些經驗不是很豐富的同學,直接放棄學習版本控制器,重新使用u盤拷來拷去.至于精通,那就是要學會如何使用各種托管網站的服務,利用這些服務,進行代碼的改錯,bug的追蹤等等,當然,學會本地搭建伺服器也是必備的技能. 

本文轉自 liam2199 部落格,原文連結: http://blog.51cto.com/youxilua/773007  如需轉載請自行聯系原作者

繼續閱讀