Git(讀音為/gɪt/。)是一個(gè)開(kāi)源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項(xiàng)目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開(kāi)發(fā)而開(kāi)發(fā)的一個(gè)開(kāi)放源碼的版本控制軟件。
Torvalds 開(kāi)始著手開(kāi)發(fā) Git 是為了作為一種過(guò)渡方案來(lái)替代 BitKe。
特點(diǎn)
分布式相比于集中式的最大區(qū)別在于開(kāi)發(fā)者可以提交到本地,每個(gè)開(kāi)發(fā)者通過(guò)克隆(git clone),在本地機(jī)器上拷貝一個(gè)完整的Git倉(cāng)庫(kù)。
下圖是經(jīng)典的git開(kāi)發(fā)過(guò)程。
Git的功能特性:
從一般開(kāi)發(fā)者的角度來(lái)看,git有以下功能:
1、從服務(wù)器上克隆完整的Git倉(cāng)庫(kù)(包括代碼和版本信息)到單機(jī)上。
2、在自己的機(jī)器上根據(jù)不同的開(kāi)發(fā)目的,創(chuàng)建分支,修改代碼。
3、在單機(jī)上自己創(chuàng)建的分支上提交代碼。
4、在單機(jī)上合并分支。
5、把服務(wù)器上最新版的代碼fetch下來(lái),然后跟自己的主分支合并。
6、生成補(bǔ)丁(patch),把補(bǔ)丁發(fā)送給主開(kāi)發(fā)者。
7、看主開(kāi)發(fā)者的反饋,如果主開(kāi)發(fā)者發(fā)現(xiàn)兩個(gè)一般開(kāi)發(fā)者之間有沖突(他們之間可以合作解決的沖突),就會(huì)要求他們先解決沖突,然后再由其中一個(gè)人提交。如果主開(kāi)發(fā)者可以自己解決,或者沒(méi)有沖突,就通過(guò)。
8、一般開(kāi)發(fā)者之間解決沖突的方法,開(kāi)發(fā)者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開(kāi)發(fā)者提交補(bǔ)丁。
從主開(kāi)發(fā)者的角度(假設(shè)主開(kāi)發(fā)者不用開(kāi)發(fā)代碼)看,git有以下功能:
1、查看郵件或者通過(guò)其它方式查看一般開(kāi)發(fā)者的提交狀態(tài)。
2、打上補(bǔ)丁,解決沖突(可以自己解決,也可以要求開(kāi)發(fā)者之間解決以后再重新提交,如果是開(kāi)源項(xiàng)目,還要決定哪些補(bǔ)丁有用,哪些不用)。
3、向公共服務(wù)器提交結(jié)果,然后通知所有開(kāi)發(fā)人員。
優(yōu)點(diǎn):
適合分布式開(kāi)發(fā),強(qiáng)調(diào)個(gè)體。
公共服務(wù)器壓力和數(shù)據(jù)量都不會(huì)太大。
速度快、靈活。
任意兩個(gè)開(kāi)發(fā)者之間可以很容易的解決沖突。
離線工作。
缺點(diǎn):
資料少(起碼中文資料很少)。
學(xué)習(xí)周期相對(duì)而言比較長(zhǎng)。
不符合常規(guī)思維。
代碼保密性差,一旦開(kāi)發(fā)者把整個(gè)庫(kù)克隆下來(lái)就可以完全公開(kāi)所有代碼和版本信息。
1贛教云教學(xué)通2.0-贛教云教學(xué)通2.0下載 v5......
2step7 microwin-西門子PLC S7......
3百度網(wǎng)盤清爽精簡(jiǎn)純凈版-網(wǎng)盤工具-百度網(wǎng)盤清爽精......
4360安全瀏覽器-瀏覽器-360安全瀏覽器下載 ......
5谷歌瀏覽器 XP版-谷歌瀏覽器 XP版-谷歌瀏覽......
6Kittenblock重慶教育專用版-機(jī)器人編程......
7seo外鏈助手(超級(jí)外鏈) -SEO外鏈優(yōu)化工具......
8小米運(yùn)動(dòng)刷步數(shù)神器-小米運(yùn)動(dòng)刷步數(shù)神器下載 v2......