Git使用入門

lucky嗷嗷發表於2016-04-24

  Git是一個開源的分散式版本控制系統,用以有效、高速的處理從很小到非常大的專案版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。Torvalds 開始著手開發 Git 是為了作為一種過渡方案來替代 BitKeeper,後者之前一直是 Linux 核心開發人員在全球使用的主要原始碼工具。開放原始碼社群中的有些人覺得 BitKeeper 的許可證並不適合開放原始碼社群的工作,因此 Torvalds 決定著手研究許可證更為靈活的版本控制系統。儘管最初 Git 的開發是為了輔助 Linux 核心開發的過程,但是我們已經發現在很多其他自由軟體專案中也使用了 Git。

  分散式和集中式的最大區別在於開發者可以本地提交。每個開發者機器上都有一個伺服器的資料庫。從一般開發者的角度來看,git有以下功能:

  1:從伺服器上克隆資料庫(包括程式碼和版本資訊)到單機上。

  2:在自己的機器上建立分支,修改程式碼。

  3:在單機上自己建立的分支上提交程式碼。

  4:在單機上合併分支。

  5:新建一個分支,把伺服器上最新版的程式碼fetch下來,然後跟自己的主分支合併。

  6:生成補丁(patch),把補丁傳送給主開發者。

  7:看主開發者的反饋,如果主開發者發現兩個一般開發者之間有衝突(他們之間可以合作解決的衝突),就會要求他們先解決衝突,然後再由其中一個人提交。如果主開發者可以自己解決,或者沒有衝突,就通過。

  8:一般開發者之間解決衝突的方法,開發者之間可以使用pull 命令解決衝突,解決完衝突之後再向主開發者提交補丁。

  git適合分散式開發,強調個體,公共伺服器壓力和資料量都不會太大,速度快、靈活,任意兩個開發者之間可以很容易的解決衝突,可以離線工作。但是git資料少,學習週期相對而言比較長,不符合常規思維,程式碼保密性差,一旦開發者把整個庫克隆下來就可以完全公開所有程式碼和版本資訊。

  儘管 git 是一個正式專案釋出系統,它卻可以方便地將你的專案建立在鬆散的開發人員組織形式上。 Linux核心的開發,就是按這樣的模式進行的。需要強調的是真正的非常規的開發組織形式, git 這種組織形式,意味著對於工作流程的約束,沒有任何強迫性的原則。

  Linux下的軟體有很多都不直接以二進位制形式的安裝包提供,而是直接提供了原始碼。使用者需要先下載原始碼,然後在本機上編譯並安裝(一般使用make、make install等命令)。目前GIT已經可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法類似,Windows版本的GIT提供了友好的GUI(圖形介面),安裝後很快可以上手。 

相關文章