關於git的一些理論知識

1、什麼是版本控制器

  好多剛用git的coder一提及git,就隨口會說出版本控制器嘛,我問那是幹嗎的,大部分人就回答上傳代碼的。而後會用,可是有些理論你問他們他們就不知道了,好比不是代碼的文件就不能用到git?因此今天寫這篇隨便就是將一些我對git的理解git

  
  所謂版本控制器呢就是能夠:
  一、管理文件
  二、查看歷史
  三、版本切換
  的一種軟件工程技術
  因此呢!敲黑板劃重點,它不只能夠管理代碼,各類文件都是能夠的!
  
  爲何要用版本控制器?
  多人協同開發,減輕開發人員的負擔,節省時間,同時下降人爲錯誤。

2、最最經常使用的版本控制器

  svn 服務器

 

  git       網絡

 

  2.1  git和svn本質區別?分佈式

    git分佈式版本控制器,svn集中式版本控制器svn

  2.2 集中式和分佈式的區別?spa

    集中式(svn)版本控制系統,版本庫是集中存放在中央服務器的(就一個你們圍繞着這一個服務器進行工做),全部的版本數據都保存在服務器上協同開發者從服務器上同步更新或上傳修改。3d

    有很大的風險這個服務器會損壞,(若是沒有備份)這樣就會丟失全部的數據。版本控制

    分佈式(git)分佈式版本控制系統根本沒有「中央服務器」,每一個人的電腦上都是一個完整的版本庫,不須要聯網就能夠工做。只須要在聯網的時候push到相應的遠端repository.code

  2.3 爲何git斷網後能夠工做?blog

    git和svn的區別這個是老生常談了,一般就會一百度就會出現 啊 git沒有網絡也可使用,這時候一些剛接觸的人就懵逼了,沒有網絡哥咋把代碼傳上去啊,當初我也同樣。可是呢!

    後來想明白了,咱們的代碼要存放在哪,倉庫repository,那git有本地的倉庫,咱們固然能夠不用聯網就能夠工做啊。只不過有網的時候咱們還能夠把本地倉庫的東西推送到遠程倉庫而已。

    svn就不行了,它只連接服務器,有一個遠程倉庫,沒有網絡你怎麼把你的文件放在遠程倉庫呢。

3、git的優勢和缺點

  分佈式,多人協同開發,缺點就是代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。

4、git的工做原理

  工做區,版本庫,暫存區,樹目錄,遠程倉庫

    工做區:

      

   版本庫:工做區中有個.git的文件夾(多是隱藏的的文件夾),裏面存放的就是版本庫
   暫存區:版本庫中有兩塊區域 暫存區 (stage)和 目錄樹(master)

  

  

相關文章
相關標籤/搜索