目前最火的版本控制軟件就是Git了吧?你要是還用SVN或者CVS什麼的都很差意思在圈裏打招呼!前天我就遇到這種狀況了,QQ上和老同窗聊起本身用SVN來管理程序版本,好麻煩,當場就慘遭鄙視---「你還用SVN啊?你Out了!咱們都用Git了!」好吧爲了避免被人鄙視,也爲了能夠鄙視別人,我終於也開始學Git了!linux
用了幾天以後的感受就是,確實好用啊!難道你們都來追捧!linus繼linux以後又造福了人類一把!就是這個東西由於模式和以前的版本控制軟件略有不一樣,因此入門上稍許有點難度,好吧不廢話了,講講本身的心得體會吧!git
首先不得不講一下,須要分清git和github這是兩個不一樣的東西,相似於linux和redhat,前者是開源的項目,後者則是利用這個開源的項目提供服務的服務商。github是一個使用git來託管代碼的網站,有兩種託管方式,一種是公開的,任何人均可如下載和上傳代碼,另外一種是私人的只有創建者制定的人才能夠下載或上傳代碼,私人的只有交錢才能用。github
國內相似github的服務如今也冒出來很多,我用的是git@OSC ,這個的好處是不管哪一種代碼都是免費的,固然之後會怎樣就不清楚了,目前使用中發現github的速度明顯不如git@OSC ,看來前者仍是不接地氣啊。windows
由於這兩個比較有表明性,後面個人使用基本就以這兩個爲例了。安全
操做系統天然是windows,用linux開發的都是大牛也用不着我來教,個人是win7,但winxp應該區別不大。服務器
首先,你應該在你的電腦上安裝msysgit和tortoisegit,前者是git的windows版,有了他就能夠在你的電腦上建立工程,克隆工程什麼的,後者則是大名鼎鼎的小烏龜,一個圖形化的Git操做程序,用過tortoiseSVN的應該不會陌生,理論上只有前者也是徹底可使用git的,不過面對那赤裸裸的字符界面能受的了沒幾個吧。網站
這兩個軟件都很好安裝就很少說了,假設你已經裝完了,個人msysgit是1.8.4,tortoisegit是1.8.6,若是大家用的是其餘版本的差異應該也不大。tortoisegit的早期版本應該在用戶設置上略有不一樣。google
第一部分 .在本地使用git(相似SVN之中本身的電腦就是服務器)
url
首先,講講怎麼在本身的電腦上建立和使用git庫,沒錯,你能夠將比較安全的磁盤當作以前SVN的服務器,把庫(git叫repository)放在這裏,而後把另外一個磁盤當作工做區。spa
第一步,建立repository:
先進到那個你要當庫的磁盤目錄下,點鼠標右鍵,會出現這樣一個東西:
其中關於git的有五項,前兩項Git GUI Here和Git Bash Here不要理會,就是調用那兩個程序而已。Git Clone和TortoiseGit咱們後面再說,既然是建立repository那就選擇Git Create repository here吧,這時又會出現這麼個東西:
簡單的說把Make it Bare勾上就表示這是一個單純的repository,寫代碼的工做區放在另外一個地方,咱們既然是要建立一個庫天然是要勾上了,而後點ok,會在目錄下面出現不少稀奇古怪的文件和目錄,不要在乎,那都是git須要的東西。
這樣一個庫就完成了。
第二步,建立工做區:
咱們轉到要作工做區的那個磁盤的目錄下,而後右鍵選擇Git Clone,出現的是這樣一個東西:
URL選擇以前咱們建立的庫的目錄,directory選擇工做區,也就是你要放代碼的目錄。其餘的不用管,ok以後會出現一個.git目錄,說明咱們創建工做區成功了。
第三步 Add和Commit、push文件
咱們在工做區的目錄建立一個文件吧,好比test.c
右鍵點擊這個文件,選TortoiseGit:
Add就是把這個文件加入到TortoiseGit的關注列表之中,不進行這一步的話,這個文件哪怕你改出花來,小烏龜也是不會管的,而你Add以後,小烏龜就會隨時關注這個文件是否修改。
在目錄的空白處點擊右鍵選擇TortoiseGit,也能夠批量Add文件,總之玩法不少你們能夠自行研究。
選擇Add以後會出現一個框,點擊ok就能夠,而後會出現這樣一個框表示Add成功,先別急着點ok,咱們還要commit呢:
同時test.c的圖標也變了,出來個加號,表示這個文件add成功了。
這裏咱們要花時間講一下,git下文件的幾種狀態:
1.就是沒有Add的文件,這種文件在工做區的目錄下就是普通的文件,小烏龜不關注他。
2.就是Add成功的文件,用加號表示,但這個文件其實並無保存到git的系統裏,不管你怎樣修改,也只是在工做區的目錄下改變,git的系統裏不會有這個文件的記錄。
3.是commit的文件,這個文件會保存在工做區下的.git目錄裏(應該是吧)也就是你的本地的git系統裏面,git會比較你commit先後是否修改,若是有修改會用紅叉表示,不然就是一個綠色的對號。
4.是push到repository之中的文件,repository能夠是你本機創建的,也能夠是相似github和git@OSC這樣的服務器。
好吧咱們如今只是add了,這確定不行,必需要commit纔算是利用了git啊,因而咱們在剛剛那個對話框點擊commit,這時候會要你輸入一些提示,不寫任何東西是沒法選擇ok的,好吧咱們寫上0.1表示這個版本,因而小烏龜容許你點ok了:
commit以後就是這樣子了,這時候咱們能夠繼續push也能夠點ok關閉,之後再push:
commit成功以後文件是這個樣子滴:
push的操做和commit很相似,由於咱們這個repository是創建在本機的另外一個磁盤下的,因此push的過程之中不須要輸入密碼什麼的,直接搞定,沒什麼可講的。
只須要注意commit的文件是保存在工做區的目錄的,而push成功的文件是保存在repository裏的。
第二部分 如何利用GitHub和Git@OSC
首先,須要你有GitHub和Git@OSC的帳戶。建立帳戶的過程很少說。
而後在本身的帳戶下建立Repository,過程固然也是在網頁上點幾下,填點文字就好了,至於license和readme.md之類的東西,默認放着就好。這個建立repository的過程其實就是以前咱們右鍵選擇create repository的過程,只不過以前咱們是在本機上建立,而這裏是在服務器上而已,本質沒啥區別。
至於項目的類型,咱們先講public,以後有時間的話我再講private(話說github的private是要收錢的,因此我也沒試過)。
建立了以後那就是下載和上傳本身的代碼文件了。
這就和第一部分的過程很相似了,咱們進到做爲工做區的目錄下面,右鍵選擇git clone:
會出現這麼個東西,和以前的很相似:
區別就是這裏的url咱們不能像第一部分那樣填寫本機的目錄了,而是要填寫github或者Git@OSC提供給你的url,github是在每一個項目的右下角這裏獲取:
git@OSC則是項目主頁的正中間:
複製,而後粘貼到小烏龜的那個文本框裏就能夠,而後ok,由於咱們說的是public項目,因此沒有密碼之類的問題,很順利的就會clone成功。
而後咱們新建一個文件,add,commit的過程都和第一部分徹底相同,注意commit以後的文件也依然保存在本地,接下來咱們要作的就是把commit的文件push到服務器上,操做方式是在工做區的目錄空白處點擊右鍵-》tortoiseGit-》push:
由於是push到服務器上,因此會出現這樣的對話框,填寫本身的帳戶密碼便可:
以後去github和git@osc上本身的項目主頁上看看吧,你的文件已經push到服務器上了!
github和git@osc使用起來基本上很簡單,網上有些文章寫的是須要puttygen生成公鑰私鑰之類的,其實徹底用不着,做爲public項目簡單的用戶密碼方式就能夠了。那種方式之後我有時間再寫個第三部分吧。
另外還有一點,若是你們本身去嘗試使用puttygen生成密鑰對的話,必定要注意點了generate以後千萬千萬別切出去看網頁什麼的,那樣你會發現你等了很久這個密鑰對也沒生成成功,其實這個東西是根據你鼠標移動的軌跡來生成的,你點了generate以後只要用鼠標在屏幕上亂畫一氣,幾秒鐘就能生成好!我第一次用的時候,點了按鈕就跑去看電視了,等了幾個小時回來一看進度仍是0!