歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 【Git體驗】Git原理及基礎

【Git體驗】Git原理及基礎

日期:2017/2/28 14:29:57   编辑:Linux教程

原理:分布式版本控制系統像 Git,Mercurial,Bazaar 以及 Darcs 等,客戶端並不只提取最新版本的文件快照,而是把原始的代碼倉庫完整地鏡像下來。這麼一來,任何一處協同工作用的服務器發生故障,事後都可以用任何一個鏡 像出來的本地倉庫恢復。因為每一次的提取操作,實際上都是一次對代碼倉庫的完整備份。

更進一步,許多這類系統都可以指定和若干不同的遠端代碼倉庫進行交互。籍此,你就可以在同一個項目中,分別和不同工作小組的人相互協作。你可以根據需要設定不同的協作流程,比如層次模型式的工作流,而這在以前的集中式系統中是無法實現的。

² 快速度

² 簡單

² 對非線性 並發(允許上千個並行開發的分支)

² 完全分布式

基於Gitolite的Git服務架設 http://www.linuxidc.com/Linux/2014-02/96991.htm

Fedora通過Http Proxy下載Git http://www.linuxidc.com/Linux/2009-12/23170.htm

在Ubuntu Server上安裝Git http://www.linuxidc.com/Linux/2009-06/20421.htm

服務器端Git倉庫的創建(Ubuntu) http://www.linuxidc.com/Linux/2011-02/32542.htm

Linux下Git簡單使用教程(以Android為例) http://www.linuxidc.com/Linux/2010-11/29883.htm

Git權威指南 PDF高清中文版 http://www.linuxidc.com/Linux/2013-10/91053.htm

基礎

1.非差異比較,直接記錄快照

Git 只關心文件數據的整體是否發生變化,而大多數其他系統則只關心文件內容的具體差異。

其他版本控制器工作,把修改的文件,及其修改的內容都保存下來了。

其他系統圖

Git 並不保存這些前後變化的差異數據。實際上,Git 更像是把變化的文件作快照後,記錄在一個微型的文件系統中。每次提交更新時,它會縱覽一遍所有文件的指紋信息並對文件作一快照,然後保存一個指向這次快照 的索引。為提高性能,若文件沒有變化,Git 不會再次保存,而只對上次保存的快照作一鏈接。

Git 保存每次更新時的文件快照

2.操作都是本地執行

在 Git 中的絕大多數操作都只需要訪問本地文件和資源,不用連網。修改添加完成之後,保存到本地緩存區,Git 在本地磁盤上就保存著所有當前項目的歷史更新,要查看歷史的版本也很容易,不需要聯網,只有當你要把本地緩存區數據push到服務器上時候才需要聯網。

但是其他的版本控制不能做到離開網絡,比如使用cvs,你可以本地修改添加,但是需要比對歷史版本或者查看誰修改了版本,都需要聯網支持,有時候訪問很慢的。

3.保證數據的完整性

保存到git的數據都需要進行驗證和計算,並將此結果作為數據的唯一標識和索引。即,修改目錄或者內容之後,git是完全可以知道的。Git 使用 SHA-1 算法計算數據的校驗和。

4.git數據的3中狀態

已修改(modified):在工作環境中,增刪改後保存到工作區域。

已暫存(staged):把工作區間的代碼提交到本地緩存區,但是還沒提交到服務器主干上。

已提交(committed):同步到服務器上,需要聯網。

Git 的詳細介紹:請點這裡
Git 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved