Git(讀作/g?t/.)是一個(gè)開源分布式版本控制系統(tǒng),可以高效、快速地處理從非常小到非常大的項(xiàng)目的版本管理。 Git 是由 Linus 開發(fā)的一個(gè)開源版本控制軟件,用于幫助管理 Linux 內(nèi)核開發(fā)。
Git 的開發(fā)是作為 BitKe 的臨時(shí)替代品而開始的。
特點(diǎn)
分布式和集中式最大的區(qū)別在于開發(fā)者可以提交到本地克?。?a href='/Adobe/5362.html' title='[轉(zhuǎn)載][Bar One]Adobe專用卸載軟件使用方法圖標(biāo)[Bar One Digital Darkroom]' target='_blank'>git clone)綠色版git管理工具,在本地機(jī)器上復(fù)制一個(gè)完整的Git倉(cāng)庫(kù)。
下圖為經(jīng)典的git開發(fā)流程。
Git 的特點(diǎn):
從一般開發(fā)者的角度來(lái)看綠色版git管理工具Autodesk SketchBook Pro(數(shù)字繪畫設(shè)計(jì)工具),git有以下幾個(gè)特點(diǎn):
1、從服務(wù)器 Git 存儲(chǔ)庫(kù)(包括代碼和版本信息)克隆完成到單個(gè)機(jī)器。
2、在自己的機(jī)器上創(chuàng)建一個(gè)分支,根據(jù)不同的開發(fā)目的修改代碼。
3、在單機(jī)上自己創(chuàng)建的分支上提交代碼。
4、在一臺(tái)機(jī)器上合并分支。
5、獲取服務(wù)器上最新版本的代碼,并與自己的分支合并。
6、生成補(bǔ)丁并發(fā)送給主開發(fā)者。
7、看主開發(fā)者的反饋,如果主開發(fā)者發(fā)現(xiàn)兩個(gè)普通開發(fā)者之間有沖突(可以合作解決的沖突)unfold3d,會(huì)要求他們先解決沖突由其中一人提交。如果主開發(fā)者可以自己解決,或者沒有沖突,則通過。
8、解決開發(fā)者之間沖突的一般方法。開發(fā)者可以使用 pull 命令來(lái)解決沖突。解決沖突后,向主開發(fā)者提交補(bǔ)丁。
從主開發(fā)者的角度來(lái)看(假設(shè)主開發(fā)者不開發(fā)代碼),git具有以下功能:
1、查看郵件或以其他方式查看一般開發(fā)者的提交狀態(tài)。
2、應(yīng)用補(bǔ)丁解決沖突(可以自己解決,也可以請(qǐng)開發(fā)者解決后再重新提交。如果是開源項(xiàng)目花邊裝飾筆刷下載,需要確定哪些補(bǔ)丁有用哪些不是)。
3、將結(jié)果提交到公共服務(wù)器并通知所有開發(fā)者。
優(yōu)點(diǎn):
適合分布式開發(fā),強(qiáng)調(diào)個(gè)人。
公共服務(wù)器壓力和數(shù)據(jù)量不會(huì)太大。
快速靈活。
任何兩個(gè)開發(fā)人員之間的沖突都可以輕松解決。
離線工作。
缺點(diǎn):
數(shù)據(jù)很少(至少是中文)。
學(xué)習(xí)周期比較長(zhǎng)。
不符合傳統(tǒng)思維。
代碼保密性差。一旦開發(fā)者克隆了整個(gè)庫(kù),所有代碼和版本信息都可以完全公開。