【Git體驗】Git原理及基礎

來源:互聯網
上載者:User

【Git體驗】Git原理及基礎

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

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

² 快速度

² 簡單

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

² 完全分布式

基於Gitolite的Git服務架設

Fedora通過Http Proxy下載Git

在Ubuntu Server上安裝Git

伺服器端Git倉庫的建立(Ubuntu)

Linux下Git簡單使用教程(以Android為例)

Git權威指南 PDF高清中文版

基礎:

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 的:請點這裡

本文永久更新連結地址:

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.