centos下git的安裝與使用

小編在學習cs109 data science時候,發現學校第一次homework就是學習和使用git。關於git是什麼有什麼用,小編是一點都不清楚,但是小編還是在GitHub網站上下過東西的,看上去他們是有很大關係的,下面是小編從網上找到的關於git的資料。

1.git的介紹
首先,爲什麼需要控制版本系統?
1).更好備份:相比於將不同版本的文件以時間等命名存儲備份,使用版本控制系統能節約更多的磁盤空間,因爲版本控制系統不是文件的複製備份,而是差異備份,文件快照備份等等。

2).更好的回溯:可以將某個文件回溯到之前的任何一個提交狀態,甚至將整個項目回退到過去的某個時間點。

3).更好的團隊協作:這是我認爲最重要的,團隊共同開發一款軟件,如果沒有版本控制,那是不可想象的,簡單點的可以使用文件傳輸到某一位核心開發者庫上進行合併,但如果團隊的成員是分散在全國各地的,甚至是世界各地的,比如linux內核的開發,那完全是沒辦法進行的。使用版本控制後,可以比較文件的變化系統,可以查詢是誰提交了新的更新,並且可以由項目負責人管理提交,進行更新的管理。
問2:相比於svn,git有什麼優勢?
其實這裏真要說出誰比誰好,真的很難說,從不同的角度和不同的需求可能都會有不同的觀點,這裏我也只能說明兩者的適用情景。

svn屬於集中化的版本控制系統:有一個單一的集中管理的服務器,保存所有文件的修訂版本,而協同工作的成員通過客戶端連接到這臺服務器,進行文件上傳和更新。

  優點:a.使用簡單,比較符合我們的常規思維(我當年從SVN轉向Git也花費了不少時間)。b.同步代碼比較簡單,只要一步操作即可。

  缺點:a.丟失數據的風險:最顯而易見的,由於集中化的特點,如果版本庫的服務器磁盤發生故障等,你不能保證所有的數據已經有人提取出來了,最壞的情況是徹底的丟失整個項目的所有歷史更改記錄。b.網絡中斷的情況下,協作就無法進行了,因爲無法連接服務器進行上傳和更新。

git屬於分佈式版本控制系統:客戶端並不只提取最新版本的文件快照,而是把原始的代碼倉庫完整地鏡像下來。

  優點:a.由於任何人每次提取操作,實際上都是一次對代碼倉庫的完整備份,因此近乎所有的操作都可以在本地執行,速度就是相當的快,並且可以在網絡斷開的時候操作仍然不受影響,可以頻繁的進行提交更新,等到有網絡的時候再上傳到遠程的鏡像倉庫就可以了。b.文檔很詳細,並且命令行的提示也很到位,用起來比較得新應手,而且很多的設置與操作跟linux操作很相近(不虧是linux之父創造的)。c.git的分支模型,相當的輕量級,被稱爲“必殺技”。

  缺點:a.每個開發人員都擁有所有的代碼,不利於核心代碼的保密(如果有重要代碼需要保密,則不建議使用git)
  git的歷史
當年教授給我們將git歷史的時候,感覺特別有意思,還特崇拜linux之父Linus Torvalds。linux內核開發是來自世界各地的熱衷於開源的人士,開始他們使用的版本控制系統是一個商業產品BitKeeper,並免費給linux使用,但由於後期開發人員越來越龐大等等原因,而BitKeeper畢竟是商業產品,終於在2005年與linux內核開源社區結束了合作關係,Linus Torvalds一氣之下就自己開發了一款適合linux內核開發管理的版本管理系統Git。現在Linus Torvalds其實很少寫代碼了,而是將別人提交的代碼合併到內核中去,更多時間裏,就是在對別人提交的代碼說“Yes”或者“No”,或是指導別人該在什麼地方進行修改。

2.git在linux的安裝
(1)先從官網[http://git-scm.com/download ]上下載git
2.將文件複製到/opy/git/gitinstall下,並解壓
3.進行安裝配置

[root@sl gitinstall]# cd git-1.7.3
[root@sl git-1.7.3]# ./configure
[root@sl git-1.7.3]# make
[root@sl git-1.7.3]# make install

注意:要是不想安裝時出現很多依賴安裝,可以使用yum install git-core,這樣比較方便

3.git的使用
github的第一次使用可以參見http://www.360doc.com/content/15/0413/15/10648726_462911761.shtml
小編還沒有嘗試,等嘗試之後再給出小編的總結

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章