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

2022-02-16 08:51:38 字數 2897 閱讀 6949

不多說,直接上乾貨!

史上最淺顯易懂的git教程!

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

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

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

其次,本教程實用性超強,邊學邊練,一點也不覺得枯燥。而且,你所學的git命令是「充分且必要」的,掌握了這些東西,你就可以通過git輕鬆地完成你的工作。

本教程只會讓你成為git使用者,不會讓你成為git專家。很多git命令只有那些專家才明白(事實上我也不明白,因為我不是git專家),但我保證這些命令可能你一輩子都不會用到。既然git是乙個工具,就沒必要把時間浪費在那些「高階」但幾乎永遠不會用到的命令上。一旦你真的非用不可了,到時候再自行google或者請教專家也未遲。

如果你是乙個開發人員,想用上這個世界上目前最先進的分布式版本控制系統,那麼,趕快開始學習吧!

git產生的背景

git 最初由linus torvalds編寫,用於 linux 核心開發的版本控制工具。

git 與常用的版本控制工具 cvs、subversion 等不同,它採用了分布式版本庫的方式,不必伺服器端軟體支援,使源**的發布和交流極其方便。 

git 的速度很快,這對於諸如 linux kernel 這樣的大專案來說自然很重要,git 最為出色的是它的合併跟蹤(merge tracing)能力。

實際上核心開發團隊決定開始開發和使用 git 來作為核心開發的版本控制系統的時候,世界開源社群的反對聲音不少,最大的理由是 git 太艱澀難懂,從 git 的內部工作機制來說,的確是這樣。但是隨著開發的深入,git 的正常使用都由一些友好的指令碼命令來執行,使 git 變得非常好用,即使是用來管理我們自己的開發專案,git 都是乙個友好、有力的工具。現在,越來越多的著名專案採用 git 來管理專案開發,例如:wine

、hiphop-php

等。git 作為開源自由原教旨主義專案,沒有對版本庫的瀏覽和修改做任何的許可權限制,但通過其他工具也可以達到有限的許可權控制,比如:gitosis、codebeamer mr。原本 git的使用範圍只適用於 linux / unix 平台,但逐步並成熟了在 windows 平台下的使用,主要歸功於cygwin與msysgit環境與tortoisegit這樣易用的 gui 工具。其實 git 的源**中已經加入了對 cygwin 與 mingw 編譯環境的支援並被逐步完善,對於 windows 使用者是個福音。

很多人都知道,linus在2023年建立了開源的linux,從此,linux系統不斷發展,已經成為最大的伺服器系統軟體了。

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

事實是,在2023年以前,世界各地的志願者把源**檔案通過diff的方式發給linus,然後由linus本人通過手工方式合併**!

你也許會想,為什麼linus不把linux**放到版本控制系統裡呢?不是有cvs、svn這些免費的版本控制系統嗎?因為linus堅定地反對cvs和svn,這些集中式的版本控制系統不但速度慢,而且必須聯網才能使用。有一些商用的版本控制系統,雖然比cvs、svn好用,但那是付費的,和linux的開源精神不符。

不過,到了2023年,linux系統已經發展了十年了,**庫之大讓linus很難繼續通過手工方式管理了,社群的弟兄們也對這種方式表達了強烈不滿,於是linus選擇了乙個商業的版本控制系統bitkeeper,bitkeeper的東家bitmover公司出於人道主義精神,授權linux社群免費使用這個版本控制系統。

安定團結的大好局面在2023年就被打破了,原因是linux社群牛人聚集,不免沾染了一些梁山好漢的江湖習氣。開發samba的andrew試圖破解bitkeeper的協議(這麼幹的其實也不只他乙個),被bitmover公司發現了(監控工作做得不錯!),於是bitmover公司怒了,要收回linux社群的免費使用權。

linus可以向bitmover公司道個歉,保證以後嚴格管教弟兄們,嗯,這是不可能的。實際情況是這樣的:

linus花了兩周時間自己用c寫了乙個分布式版本控制系統,這就是git!乙個月之內,linux系統的原始碼已經由git管理了!牛是怎麼定義的呢?大家可以體會一下。

git迅速成為最流行的分布式版本控制系統,尤其是2023年,github**上線了,它為開源專案免費提供git儲存,無數開源專案開始遷移至github,包括jquery,php,ruby等等。

歷史就是這麼偶然,如果不是當年bitmover公司威脅linux社群,可能現在我們就沒有免費而超級好用的git了。

詳情請見:p/7473861.html

以及對應本平台的qq群:161156071(大資料躺過的坑)

Git 系列之四 Git 高階功能

在我們的 windows 下 git 配置與使用指南 中,有介紹大家使用 git go 命令。其實,這並非 git 的原生命令,它是我們自定義的乙個 alias 別名 由 git add git commit git push 和 git pull 四個命令組合而成。待熟悉之後,你可以直接使用這些原...

Git學習之Git 重置

分支游標master 引用 refs heads master 在有新的提交發生的時候,指向新的提交。1 將master游標重置到舊的提交上 注意 使用了 hard 引數,會破壞工作區未提交的改動 git reset hard head 2 重置命令不僅可以重置到前一次提交,而且還可以使用提交id重...

git學習之git命令

git cmd windows風格的命令列 git gui 圖形介面的git,不建議初學者使用,盡量先熟悉常用命令 一般來說都是用第乙個,需要用到一些linux命令 常見的linux命令 1 cd 改變目錄。2 cd 回退到上乙個目錄,直接cd進入預設目錄 3 pwd 顯示當前所在的目錄路徑。4 l...