Git —— Git基礎介紹(一)

Git —— Git基礎介紹

 

由於工作變動,新公司使用了Git做的代碼、項目版本控制(之前是SVN)。在平時自己的學習過程中,雖然也常常使用Git,但總是侷限於一些簡單的提交操作,對Git本身的一些設計原理、和其他常用的高級特性瞭解的不多,從而經常導致自己對Git有很多誤解和誤操作。最近在https://git-scm.com/book/zh/v2查看了一些有關Git的資料,打算較爲系統的學習Git的基本原理和常見命令使用。這裏也會使用博客的形式記錄期間的內容,供自己後續查閱和回顧。

爲了更好的瞭解、使用Git,我們先看下百度百科對Git的一些介紹:

it(讀音爲/gɪt/。)是一個開源的分佈式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。

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

Git --- The stupid content tracker, 傻瓜內容跟蹤器。Linus Torvalds 是這樣給我們介紹 Git 的。

Git 是用於 Linux內核開發的版本控制工具。與常用的版本控制工具 CVS, Subversion 等不同,它採用了分佈式版本庫的方式,不必服務器端軟件支持(wingeddevil注:這得分是用什麼樣的服務端,使用http協議或者git協議等不太一樣。並且在push和pull的時候和服務器端還是有交互的。),使源代碼的發佈和交流極其方便。 Git 的速度很快,這對於諸如 Linux kernel 這樣的大項目來說自然很重要。 Git 最爲出色的是它的合併跟蹤(merge tracing)能力。

Git主要使用保存文件快照和使用校驗和來保證Git的版本控制。Git有三種狀態

  1. 已提交(commited):表示數據保已存在本地數據庫中
  2. 已修改(modified):表示已經修改了文件,但還沒保存到數據庫中
  3. 已暫存(staged):表示對當前一個已修改文件的版本做了標記,使之包含在下次提交的快照中

由此引入Git項目的三個工作區域的概念:Git倉庫、工作目錄和暫存區域。

Git倉庫目錄是Git用來保存項目的原數據和對象數據庫的地方。這是Git中最重要的部分,從其他計算機克隆倉庫時,拷貝的就是這裏的數據。

工作目錄是對項目的某個版本獨立提取出來的內容。這些從Git倉庫的壓縮數據庫中提取出來的文件,放在磁盤上供你使用或修改。

暫存區域是一個文件,保存了下次將要提交的文件列表信息,一般在Git倉庫目錄中。有時也被稱作索引,不過一般說法還是稱作暫存區域。

Git的基本工作流程如下:

  1. 在工作目錄中修改文件
  2. 暫存文件,將文件的快照存入暫存區域
  3. 提交更新,找到暫存區域的文件,將快照永久性存儲到Git倉庫目錄中

如果Git目錄中保存着的特定版本文件,就屬於已提交狀態。如果做了修改並放入暫存區域,就屬於已暫存狀態。如果自上次取出以後,做了修改但是還沒存入暫存區域,就屬於已修改狀態。後面的內容我們會更進一步解釋其中的細節與狀態操作。

Git有多種使用方式。我們可以原生的命令行模式,也可以使用GUI模式。後續的介紹都會在命令行進行,因爲只有在命令行模式下,我們纔可以使用完整的Git命令;GUI只實現了Git功能的一個子集,以降低難度。

Git的安裝較爲簡單,由於我使用的是Manjaro,只需在Software中搜索安裝Git即可;這裏就不做多餘介紹。安裝完Git之後,查看版本信息如下:

Git安裝成功之後,我們就可以開始我們的Git之旅了。

 

PS:後續改版的博客編輯功能,是真的難用;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章