01.Git的簡介

01.Git的簡介

  • Git 是一個(gè)免費(fèi)的、開源的分布式版本控制系統(tǒng)笋额,可以快速高效地處理從小型到大型的各種項(xiàng)目元暴。
  • Git 易于學(xué)習(xí),占地面積小兄猩,性能極快茉盏。 它具有廉價(jià)的本地庫鉴未,方便的暫存區(qū)域和多個(gè)工作流分支等特性。其性能優(yōu)于 Subversion鸠姨、CVS铜秆、Perforce 和 ClearCase 等版本控制工具。

一.何為 版本控制

  版本控制是一種記錄文件內(nèi)容變化讶迁,以便將來查閱特定版本修訂情況的系統(tǒng)连茧。版本控制其實(shí)最重要的是可以記錄文件修改歷史記錄,從而讓用戶能夠查看歷史版本添瓷,方便版本切換梅屉。
image-20210901204009029

二.為什么需要版本控制

個(gè)人開發(fā)過渡到團(tuán)隊(duì)協(xié)作值纱。

image-20210901204230114

三.版本控制工具

3.1集中式版本控制工具

CVS鳞贷、SVN(Subversion)、VSS……
集中化的版本控制系統(tǒng)諸如 CVS虐唠、SVN 等搀愧,都有一個(gè)單一的集中管理的服務(wù)器,保存所有文件的修訂版本疆偿,而協(xié)同工作的人們都通過客戶端連到這臺(tái)服務(wù)器咱筛,取出最新的文件或者提交更新。多年以來杆故,這已成為版本控制系統(tǒng)的標(biāo)準(zhǔn)做法迅箩。
這種做法帶來了許多好處,每個(gè)人都可以在一定程度上看到項(xiàng)目中的其他人正在做些什么处铛。而管理員也可以輕松掌控每個(gè)開發(fā)者的權(quán)限饲趋,并且管理一個(gè)集中化的版本控制系統(tǒng),要遠(yuǎn)比在各個(gè)客戶端上維護(hù)本地?cái)?shù)據(jù)庫來得輕松容易撤蟆。事分兩面奕塑,有好有壞。這么做顯而易見的缺點(diǎn)是中央服務(wù)器的單點(diǎn)故障家肯。如果服務(wù)器宕機(jī)一小時(shí)龄砰,那么在這一小時(shí)內(nèi),誰都無法提交更新讨衣,也就無法協(xié)同工作换棚。

image-20210901204402077

3.2 分布式版本控制工具

Git、Mercurial反镇、Bazaar固蚤、Darcs……
像 Git 這種分布式版本控制工具,客戶端提取的不是最新版本的文件快照愿险,而是把代碼倉庫完整地鏡像下來(本地庫)颇蜡。這樣任何一處協(xié)同工作用的文件發(fā)生故障价说,事后都可以用其他客戶端的本地倉庫進(jìn)行恢復(fù)。因?yàn)槊總€(gè)客戶端的每一次文件提取操作风秤,實(shí)際上都是一次
對(duì)整個(gè)文件倉庫的完整備份鳖目。分布式的版本控制系統(tǒng)出現(xiàn)之后,解決了集中式版本控制系統(tǒng)的缺陷:

  1. 服務(wù)器斷網(wǎng)的情況下也可以進(jìn)行開發(fā)(因?yàn)榘姹究刂剖窃诒镜剡M(jìn)行的)
  2. 每個(gè)客戶端保存的也都是整個(gè)完整的項(xiàng)目(包含歷史記錄,更加安全)
image-20210901204453844

四.Git 簡史

image-20210901204555467

很多人都知道缤弦,Linus在1991年創(chuàng)建了開源的Linux领迈,從此,Linux系統(tǒng)不斷發(fā)展碍沐,已經(jīng)成為最大的服務(wù)器系統(tǒng)軟件了狸捅。

Linus雖然創(chuàng)建了Linux,但Linux的壯大是靠全世界熱心的志愿者參與的累提,這么多人在世界各地為Linux編寫代碼尘喝,那Linux的代碼是如何管理的呢?

事實(shí)是斋陪,在2002年以前朽褪,世界各地的志愿者把源代碼文件通過diff的方式發(fā)給Linus,然后由Linus本人通過手工方式合并代碼无虚!

你也許會(huì)想缔赠,為什么Linus不把Linux代碼放到版本控制系統(tǒng)里呢故黑?不是有CVS果善、SVN這些免費(fèi)的版本控制系統(tǒng)嗎?因?yàn)長inus堅(jiān)定地反對(duì)CVS和SVN宠蚂,這些集中式的版本控制系統(tǒng)不但速度慢度宦,而且必須聯(lián)網(wǎng)才能使用踢匣。有一些商用的版本控制系統(tǒng),雖然比CVS斗埂、SVN好用符糊,但那是付費(fèi)的,和Linux的開源精神不符呛凶。

不過男娄,到了2002年,Linux系統(tǒng)已經(jīng)發(fā)展了十年了漾稀,代碼庫之大讓Linus很難繼續(xù)通過手工方式管理了模闲,社區(qū)的弟兄們也對(duì)這種方式表達(dá)了強(qiáng)烈不滿,于是Linus選擇了一個(gè)商業(yè)的版本控制系統(tǒng)BitKeeper崭捍,BitKeeper的東家BitMover公司出于人道主義精神尸折,授權(quán)Linux社區(qū)免費(fèi)使用這個(gè)版本控制系統(tǒng)。

安定團(tuán)結(jié)的大好局面在2005年就被打破了殷蛇,原因是Linux社區(qū)牛人聚集实夹,不免沾染了一些梁山好漢的江湖習(xí)氣橄浓。開發(fā)Samba的Andrew試圖破解BitKeeper的協(xié)議(這么干的其實(shí)也不只他一個(gè)),被BitMover公司發(fā)現(xiàn)了(監(jiān)控工作做得不錯(cuò)A梁健)荸实,于是BitMover公司怒了,要收回Linux社區(qū)的免費(fèi)使用權(quán)缴淋。

Linus可以向BitMover公司道個(gè)歉准给,保證以后嚴(yán)格管教弟兄們,嗯重抖,這是不可能的露氮。實(shí)際情況是這樣的:

Linus花了兩周時(shí)間自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git钟沛!一個(gè)月之內(nèi)畔规,Linux系統(tǒng)的源碼已經(jīng)由Git管理了!牛是怎么定義的呢讹剔?大家可以體會(huì)一下油讯。

Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年延欠,GitHub網(wǎng)站上線了,它為開源項(xiàng)目免費(fèi)提供Git存儲(chǔ)沈跨,無數(shù)開源項(xiàng)目開始遷移至GitHub由捎,包括jQuery,PHP饿凛,Ruby等等狞玛。

歷史就是這么偶然,如果不是當(dāng)年BitMover公司威脅Linux社區(qū)涧窒,可能現(xiàn)在我們就沒有免費(fèi)而超級(jí)好用的Git了心肪。

五.Git 工作機(jī)制

image-20210901204815855

六.Git 和代碼托管中心

代碼托管中心是基于網(wǎng)絡(luò)服務(wù)器的遠(yuǎn)程代碼倉庫,一般我們簡單稱為遠(yuǎn)程庫纠吴。

6.1局域網(wǎng)

? GitLab

6.2 互聯(lián)網(wǎng)

? GitHub(外網(wǎng))
? Gitee 碼云(國內(nèi)網(wǎng)站)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硬鞍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子戴已,更是在濱河造成了極大的恐慌固该,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糖儡,死亡現(xiàn)場(chǎng)離奇詭異伐坏,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)握联,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門桦沉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來每瞒,“玉大人,你說我怎么就攤上這事纯露《琅ⅲ” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵苔埋,是天一觀的道長懦砂。 經(jīng)常有香客問我,道長组橄,這世上最難降的妖魔是什么荞膘? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮玉工,結(jié)果婚禮上羽资,老公的妹妹穿的比我還像新娘。我一直安慰自己遵班,他們只是感情好屠升,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狭郑,像睡著了一般腹暖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上翰萨,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天脏答,我揣著相機(jī)與錄音,去河邊找鬼亩鬼。 笑死殖告,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的雳锋。 我是一名探鬼主播黄绩,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼玷过!你這毒婦竟也來了爽丹?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤冶匹,失蹤者是張志新(化名)和其女友劉穎习劫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嚼隘,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡诽里,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了飞蛹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谤狡。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灸眼,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出墓懂,到底是詐尸還是另有隱情焰宣,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布捕仔,位于F島的核電站匕积,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏榜跌。R本人自食惡果不足惜闪唆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望钓葫。 院中可真熱鬧悄蕾,春花似錦、人聲如沸础浮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽豆同。三九已至番刊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間诱告,已是汗流浹背撵枢。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留精居,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓潜必,卻偏偏與公主長得像靴姿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子磁滚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • GIT的由來:很多人都知道佛吓,Linus在1991年創(chuàng)建了開源的Linux,從此垂攘,Linux系統(tǒng)不斷發(fā)展维雇,已經(jīng)成為最...
    無為法閱讀 111評(píng)論 0 0
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn)晒他,但是人生放棄了冒險(xiǎn)吱型,也就放棄了無數(shù)的可能。 ...
    yichen大刀閱讀 6,046評(píng)論 0 4
  • 公元:2019年11月28日19時(shí)42分農(nóng)歷:二零一九年 十一月 初三日 戌時(shí)干支:己亥乙亥己巳甲戌當(dāng)月節(jié)氣:立冬...
    石放閱讀 6,877評(píng)論 0 2