學習 Git(使用手冊)

Git是一款免費、開源的分佈式版本控制系統,用於敏捷高效地處理任何或小或大的項目。 Git的讀音爲/gɪt/。git

Git是一個開源的分佈式版本控制系統,能夠有效、高速的處理從很小到很是大的項目版本管理。 Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。服務器

Torvalds 開始着手開發 Git 是爲了做爲一種過渡方案來替代 BitKeeper,後者以前一直是 Linux 內核開發人員在全球使用的主要源代碼工具。開放源碼社區中的有些人以爲BitKeeper 的許可證並不適合開放源碼社區的工做,所以 Torvalds 決定着手研究許可證更爲靈活的版本控制系統。儘管最初 Git 的開發是爲了輔助 Linux 內核開發的過程,可是咱們已經發如今不少其餘自由軟件項目中也使用了 Git。例如 不少 Freedesktop 的項目遷移到了 Git 上。分佈式

關於學習Git的詳細教程:學習Git(使用手冊)工具

特色:學習

分佈式相比於集中式的最大區別在於開發者能夠提交到本地,每一個開發者經過克隆(git clone),在本地機器上拷貝一個完整的Git倉庫。fetch

下圖是經典的git開發過程。網站

Git的功能特性:阿里雲

從通常開發者的角度來看,git有如下功能:版本控制

  • 從服務器上克隆完整的Git倉庫(包括代碼和版本信息)到單機上。
  • 在本身的機器上根據不一樣的開發目的,建立分支,修改代碼。
  • 在單機上本身建立的分支上提交代碼。
  • 在單機上合併分支。
  • 把服務器上最新版的代碼fetch下來,而後跟本身的主分支合併。
  • 生成補丁(patch),把補丁發送給主開發者。
  • 看主開發者的反饋,若是主開發者發現兩個通常開發者之間有衝突(他們之間能夠合做解決的衝突),就會要求他們先解決衝突,而後再由其中一我的提交。若是主開發者能夠本身解決,或者沒有衝突,就經過。
  • 通常開發者之間解決衝突的方法,開發者之間可使用pull 命令解決衝突,解決完衝突以後再向主開發者提交補丁。

從主開發者的角度(假設主開發者不用開發代碼)看,git有如下功能:blog

  1. 查看郵件或者經過其它方式查看通常開發者的提交狀態。
  2. 打上補丁,解決衝突(能夠本身解決,也能夠要求開發者之間解決之後再從新提交,若是是開源項目,還要決定哪些補丁有用,哪些不用)。
  3. 向公共服務器提交結果,而後通知全部開發人員。

優勢:

  • 適合分佈式開發,強調個體。
  • 公共服務器壓力和數據量都不會太大。
  • 速度快、靈活。
  • 任意兩個開發者之間能夠很容易的解決衝突。
  • 離線工做。
  • 缺點:
  • 資料少(起碼中文資料不多)。
  • 學習週期相對而言比較長。
  • 不符合常規思惟。
  • 代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。

更多精品課程:

阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場

相關文章
相關標籤/搜索