Git(讀音為/gɪt/。)是一個開源的分布式版本控制系統(tǒng),可以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發(fā)而開發(fā)的一個開放源碼的版本控制軟件。 Torvalds 開始著手開發(fā) Git 是為了作為一種過渡方案來替代 BitKe。 特點 分布式相比于集中式的最大區(qū)別在于開發(fā)者可以提交到本地,每個開發(fā)者通過克。╣it clone),在本地機器上拷貝一個完整的Git倉庫。 下圖是經(jīng)典的git開發(fā)過程。 Git的功能特性: 從一般開發(fā)者的角度來看,git有以下功能: 1、從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。 2、在自己的機器上根據(jù)不同的開發(fā)目的,創(chuàng)建分支,修改代碼。 3、在單機上自己創(chuàng)建的分支上提交代碼。 4、在單機上合并分支。 5、把服務器上最新版的代碼fetch下來,然后跟自己的主分支合并。 6、生成補。╬atch),把補丁發(fā)送給主開發(fā)者。 7、看主開發(fā)者的反饋,如果主開發(fā)者發(fā)現(xiàn)兩個一般開發(fā)者之間有沖突(他們之間可以合作解決的沖突),就會要求他們先解決沖突,然后再由其中一個人提交。如果主開發(fā)者可以自己解決,或者沒有沖突,就通過。 8、一般開發(fā)者之間解決沖突的方法,開發(fā)者之間可以使用pull 命令解決沖突,解決完沖突之后再向主開發(fā)者提交補丁。 從主開發(fā)者的角度(假設主開發(fā)者不用開發(fā)代碼)看,git有以下功能: 1、查看郵件或者通過其它方式查看一般開發(fā)者的提交狀態(tài)。 2、打上補丁,解決沖突(可以自己解決,也可以要求開發(fā)者之間解決以后再重新提交,如果是開源項目,還要決定哪些補丁有用,哪些不用)。 3、向公共服務器提交結果,然后通知所有開發(fā)人員。 優(yōu)點: 適合分布式開發(fā),強調個體。 公共服務器壓力和數(shù)據(jù)量都不會太大。 速度快、靈活。 任意兩個開發(fā)者之間可以很容易的解決沖突。 離線工作。 缺點: 資料少(起碼中文資料很少)。 學習周期相對而言比較長。 不符合常規(guī)思維。 代碼保密性差,一旦開發(fā)者把整個庫克隆下來就可以完全公開所有代碼和版本信息。 矢量圖常用于框架結構的圖形處理,應用非常廣泛。圖形是人們根據(jù)客觀事物制作生成的,它不是客觀存在的;圖像是可以直接通過照相、掃描、攝像得到,也可以通過繪制得到。 |