Git學習系列之Git產生的背景

 

 

 

 

 

 

 

  很少說,直接上乾貨!php

 

 

 

 

 

 

  史上最淺顯易懂的Git教程!html

  爲何要編寫這個教程?由於我在學習Git的過程當中,買過書,也在網上Google了一堆Git相關的文章和教程,但使人失望的是,這些教程不是可貴使人髮指,就是簡單得一筆帶過,或者,只支離破碎地介紹Git的某幾個命令,還有直接從Git手冊粘貼幫助文檔的,總之,初學者很難找到一個由淺入深,學完後能馬上上手的Git教程。git

  既然號稱史上最淺顯易懂的Git教程,那這個教程有什麼讓你怦然心動的特色呢?github

  首先,本教程絕對面向初學者,沒有接觸過版本控制概念的讀者也能夠輕鬆入門,沒必要擔憂起步難度;apache

  其次,本教程實用性超強,邊學邊練,一點也不以爲枯燥。並且,你所學的Git命令是「充分且必要」的,掌握了這些東西,你就能夠經過Git輕鬆地完成你的工做。服務器

 

  本教程只會讓你成爲Git用戶,不會讓你成爲Git專家。不少Git命令只有那些專家才明白(事實上我也不明白,由於我不是Git專家),但我保證這些命令可能你一生都不會用到。既然Git是一個工具,就不必把時間浪費在那些「高級」但幾乎永遠不會用到的命令上。一旦你真的非用不可了,到時候再自行Google或者請教專家也未遲。微信

  若是你是一個開發人員,想用上這個世界上目前最早進的分佈式版本控制系統,那麼,趕快開始學習吧!機器學習

 

 

 

 

 

 

 

Git產生的背景分佈式

  Git 最初由Linus Torvalds編寫,用於 Linux 內核開發的版本控制工具。工具

  Git 與經常使用的版本控制工具 CVSSubversion 等不一樣,它採用了分佈式版本庫的方式,沒必要服務器端軟件支持,使源代碼的發佈和交流極其方便。 

  Git 的速度很快,這對於諸如 Linux kernel 這樣的大項目來講天然很重要,Git 最爲出色的是它的合併跟蹤(merge tracing)能力。

  實際上內核開發團隊決定開始開發和使用 Git 來做爲內核開發的版本控制系統的時候,世界開源社羣的反對聲音很多,最大的理由是 Git 太艱澀難懂,從 Git 的內部工做機制來講,的確是這樣。可是隨着開發的深刻,Git 的正常使用都由一些友好的腳本命令來執行,使 Git 變得很是好用,即便是用來管理咱們本身的開發項目,Git 都是一個友好、有力的工具。如今,愈來愈多的著名項目採用 Git 來管理項目開發,例如:winehiphop-php 等。

  Git 做爲開源自由原教旨主義項目,沒有對版本庫的瀏覽和修改作任何的權限限制,但經過其餘工具也能夠達到有限的權限控制,好比:gitosis、CodeBeamer MR。本來 Git的使用範圍只適用於 Linux / Unix 平臺,但逐步併成熟了在 Windows 平臺下的使用,主要歸功於Cygwin與msysgit環境與TortoiseGit這樣易用的 GUI 工具。其實 Git 的源代碼中已經加入了對 Cygwin 與 MinGW 編譯環境的支持並被逐步完善,對於 Windows 使用者是個福音。

 

 

 

  不少人都知道,Linus在1991年建立了開源的Linux,今後,Linux系統不斷髮展,已經成爲最大的服務器系統軟件了。

  Linus雖然建立了Linux,但Linux的壯大是靠全世界熱心的志願者參與的,這麼多人在世界各地爲Linux編寫代碼,那Linux的代碼是如何管理的呢?

  事實是,在2002年之前,世界各地的志願者把源代碼文件經過diff的方式發給Linus,而後由Linus本人經過手工方式合併代碼!

  你也許會想,爲何Linus不把Linux代碼放到版本控制系統裏呢?不是有CVS、SVN這些免費的版本控制系統嗎?由於Linus堅決地反對CVS和SVN,這些集中式的版本控制系統不但速度慢,並且必須聯網才能使用。有一些商用的版本控制系統,雖然比CVS、SVN好用,但那是付費的,和Linux的開源精神不符。

  不過,到了2002年,Linux系統已經發展了十年了,代碼庫之大讓Linus很難繼續經過手工方式管理了,社區的弟兄們也對這種方式表達了強烈不滿,因而Linus選擇了一個商業的版本控制系統BitKeeper,BitKeeper的東家BitMover公司出於人道主義精神,受權Linux社區無償使用這個版本控制系統。

  安定團結的大好局面在2005年就被打破了,緣由是Linux社區牛人彙集,難免沾染了一些梁山好漢的江湖習氣。開發Samba的Andrew試圖破解BitKeeper的協議(這麼幹的其實也不僅他一個),被BitMover公司發現了(監控工做作得不錯!),因而BitMover公司怒了,要收回Linux社區的無償使用權。

  Linus能夠向BitMover公司道個歉,保證之後嚴格管教弟兄們,嗯,這是不可能的。實際狀況是這樣的:

  Linus花了兩週時間本身用C寫了一個分佈式版本控制系統,這就是Git!一個月以內,Linux系統的源碼已經由Git管理了!牛是怎麼定義的呢?你們能夠體會一下。

  Git迅速成爲最流行的分佈式版本控制系統,尤爲是2008年,GitHub網站上線了,它爲開源項目免費提供Git存儲,無數開源項目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。

  歷史就是這麼偶然,若是不是當年BitMover公司威脅Linux社區,可能如今咱們就沒有免費而超級好用的Git了。

 

 

 

 

 

 

 

 

 

 

 

歡迎你們,加入個人微信公衆號:大數據躺過的坑     免費給分享
 
 
 

同時,你們能夠關注個人我的博客

   http://www.cnblogs.com/zlslch/   和     http://www.cnblogs.com/lchzls/ 

   詳情請見:http://www.cnblogs.com/zlslch/p/7473861.html

 

 

  人生苦短,我願分享。本公衆號將秉持活到老學到老學習無休止的交流分享開源精神,匯聚於互聯網和我的學習工做的精華乾貨知識,一切來於互聯網,反饋回互聯網。
  目前研究領域:大數據、機器學習、深度學習、人工智能、數據挖掘、數據分析。 語言涉及:Java、Scala、Python、Shell、Linux等 。同時還涉及日常所使用的手機、電腦和互聯網上的使用技巧、問題和實用軟件。 只要你一直關注和呆在羣裏,天天必須有收穫

 

       以及對應本平臺的QQ羣:161156071(大數據躺過的坑)

 

 

 

 

 

 

 

 

 

 

相關文章
相關標籤/搜索