簡單清晰的 Git 版本控制(一)------ 一些宏觀認識的基礎

所謂版本控制,就是對發行的版本進行管理,而 Git 就是能夠讓你可以很方便的對產品的版本(version)進行管理(更新升級,回滾回退等)的優秀工具。Git 主要是程序猿用來對源代碼進行託管以方便迭代更新以及誤操作的回退,但是事實上,他可以對任何文件進行版本控制,比如圖片,文檔等等。

Git 的演變

這裏簡要介紹一下 git 的演變歷史。任何一個產品,對他進行改進升級,免不了會產生多個版本,最簡單的辦法就是用多個目錄分別存放,然後用不同的名稱加以區分,這就是最簡單的本地版本控制系統。

但是如果是多人協作的項目該怎麼辦呢,這時候就需要對版本進行集中化的控制,團隊成員可以從版本中心下載最新的版本,對其進行修改後,再提交到版本控制中心。當然,有專門的的人員對提交的申請進行控制。這就是集中化的版本控制系統。

由於核心版本都集中在版本控制中心,這就會面臨單點故障的風險,雖然可能根一些本地電腦的記錄進行恢復,但是不能保證本地電腦一定會保存有完整的項目修改記錄。於是分佈式版本控制系統應運而生。每一次提取,都是對代碼倉庫的完整備份,所以成爲分佈式。Git 就是一個分佈式版本控制系統。

Git 和其他版本控制系統的一些區別

許多其他的版本控制系統關注文件的具體細節,比如記錄哪些文件做了修改,修改了什麼地方。

而 Git 關注的是整體是否發生變化,並且是對文件直接進行快照。如果某個版本中的某個文件沒有發生變化,爲了提高性能,就依然保存上一次的快照。

Git 文件的三種狀態

Git 文件主要有三種狀態,已修改(modified),已暫存(staged)和已提交(committed)。這三種狀態的文件分佈在三個區域:工作目錄,暫存區域和本地倉庫。他們之間的流轉流程如下。

一般的工作流程是:

  1. 對工作目錄中的文件進行修改
  2. 對修改後的文件進行快照,然後保存到暫存區域。
  3. 提交更新,將保存在暫存區域的文件快照永久轉儲到 Git 目錄中。

Git 的獲取

windows 的 Git 可以從這裏獲取:http://msysgit.github.com/ 

安裝以後需要配置用戶名和郵箱,這是很重要的,以後對版本作了修改,記錄的作者信息就是從這裏來的。

$ git config --global user.name "yourname"
$ git config --global user.email [email protected]

接下來還有一些其他的配置

$ git config --global core.editor emacs    #文本編輯器,支持 vi 和 vim

$ git config --global merge.tool vimdiff   #差異分析工具,支持kdiff3,tkdiff,meld,xxdiff, 
                                           #emerge,vimdiff,gvimdiff,ecmerge,和 opendiff

查看配置信息 

$ git config --list

$ git config user.name      #查看某個具體的配置信息
  jianqiangli

 

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