中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

git是什么

發布時間:2021-08-18 23:29:14 來源:億速云 閱讀:142 作者:chen 欄目:服務器

本篇內容主要講解“git是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“git是什么”吧!

Git是什么?

Git是目前世界上最先進的分布式版本控制系統(沒有之一)。

Git有什么特點?簡單來說就是:高端大氣上檔次!

那什么是版本控制系統?

如果你用Microsoft Word寫過長篇大論,那你一定有這樣的經歷:

想刪除一個段落,又怕將來想恢復找不回來怎么辦?有辦法,先把當前文件“另存為……”一個新的Word文件,再接著改,改到一定程度,再“另存為……”一個新文件,這樣一直改下去,最后你的Word文檔變成了這樣:

git是什么

過了一周,你想找回被刪除的文字,但是已經記不清刪除前保存在哪個文件里了,只好一個一個文件去找,真麻煩。

看著一堆亂七八糟的文件,想保留最新的一個,然后把其他的刪掉,又怕哪天會用上,還不敢刪,真郁悶。

更要命的是,有些部分需要你的財務同事幫助填寫,于是你把文件Copy到U盤里給她(也可能通過Email發送一份給她),然后,你繼續修改Word文件。一天后,同事再把Word文件傳給你,此時,你必須想想,發給她之后到你收到她的文件期間,你作了哪些改動,得把你的改動和她的部分合并,真困難。

于是你想,如果有一個軟件,不但能自動幫我記錄每次文件的改動,還可以讓同事協作編輯,這樣就不用自己管理一堆類似的文件了,也不需要把文件傳來傳去。如果想查看某次改動,只需要在軟件里瞄一眼就可以,豈不是很方便?
這個軟件用起來就應該像這個樣子,能記錄每次文件的改動:

版本

用戶

說明

日期

1

張三

刪除了軟件服務條款5

7/12 10:38

2

張三

增加了License人數限制

7/12 18:09

3

李四

財務部門調整了合同金額

7/13 9:51

4

張三

延長了免費升級周期

7/14 15:17

這樣,你就結束了手動管理多個“版本”的史前時代,進入到版本控制的20世紀。

很多人都知道,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了。

Linus一直痛恨的CVS及SVN都是集中式的版本控制系統,而Git是分布式版本控制系統,集中式和分布式版本控制系統有什么區別呢?

先說集中式版本控制系統,版本庫是集中存放在中央服務器的,而干活的時候,用的都是自己的電腦,所以要先從中央服務器取得最新的版本,然后開始干活,干完活了,再把自己的活推送給中央服務器。中央服務器就好比是一個圖書館,你要改一本書,必須先從圖書館借出來,然后回到家自己改,改完了,再放回圖書館。

git是什么

集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在局域網內還好,帶寬夠大,速度夠快,可如果在互聯網上,遇到網速慢的話,可能提交一個10M的文件就需要5分鐘,這還不得把人給憋死啊。

那分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統根本沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有一個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了文件A,你的同事也在他的電腦上改了文件A,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦里都有完整的版本庫,某一個人的電腦壞掉了不要緊,隨便從其他人那里復制一個就可以了。而集中式版本控制系統的中央服務器要是出了問題,所有人都沒法干活了。

在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在一個局域網內,兩臺電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一臺充當“中央服務器”的電腦,但這個服務器的作用僅僅是用來方便“交換”大家的修改,沒有它大家也一樣干活,只是交換修改不方便而已。

git是什么

當然,Git的優勢不單是不必聯網這么簡單,后面我們還會看到Git極其強大的分支管理,把SVN等遠遠拋在了后面。

CVS作為最早的開源而且免費的集中式版本控制系統,直到現在還有不少人在用。由于CVS自身設計的問題,會造成提交文件不完整,版本庫莫名其妙損壞的情況。同樣是開源而且免費的SVN修正了CVS的一些穩定性問題,是目前用得最多的集中式版本庫控制系統。

除了免費的外,還有收費的集中式版本控制系統,比如IBM的ClearCase(以前是Rational公司的,被IBM收購了),特點是安裝比Windows還大,運行比蝸牛還慢,能用ClearCase的一般是世界500強,他們有個共同的特點是財大氣粗,或者人傻錢多。

微軟自己也有一個集中式版本控制系統叫VSS,集成在Visual Studio中。由于其反人類的設計,連微軟自己都不好意思用了。

分布式版本控制系統除了Git以及促使Git誕生的BitKeeper外,還有類似Git的Mercurial和Bazaar等。這些分布式版本控制系統各有特點,但最快、最簡單也最流行的依然是Git!

到此,相信大家對“git是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

git
AI

栖霞市| 安塞县| 金塔县| 喀喇| 枣阳市| 红安县| 高雄市| 张掖市| 连江县| 乌什县| 绍兴县| 班戈县| 宁波市| 工布江达县| 昭觉县| 石嘴山市| 洞头县| 广元市| 策勒县| 同江市| 临高县| 和龙市| 盐津县| 湟中县| 鲜城| 吴旗县| 临泽县| 曲水县| 鸡泽县| 吉隆县| 十堰市| 抚远县| 勐海县| 枞阳县| 民勤县| 焦作市| 万荣县| 福泉市| 南陵县| 雅江县| 高雄市|