[DanoR的學習筆記][Git入門][01][Git是什麼?][一點都不通俗版]

Git是什麼?

  • Git是一個會保存你對文件夾大部分修改的程序。

Git除了「保存」還會什麼?

  • 最基本的功能除了「保存」,還有「複製」和「合併」
  • 複雜的功能大部分基於上面三種。

Git是「懶惰」的

  • Git不會主動去作什麼,除非你叫它去作什麼。服務器

  • 由於Git不會主動作什麼,因此你能夠對你的文件夾作不少不少更改。直到你認爲能夠「保存」爲止。網絡

    • 我在上面的描述是「大部分修改」而不是「全部修改」
  • 每份「保存」在Git裏叫作「版本」
    每份「保存」在Git裏叫作「版本」(由於很重要因此說兩次。)分佈式

Git是「分佈式」的

  • 首先要知道,和「分佈式」相對的詞語是「集中式」
  • 假定你如今在一個小型網絡裏幹活,網絡裏有你和幾個同事,還有一臺服務器
    假定你如今在一個小型網絡裏幹活,網絡裏有你和幾個同事,還有一臺服務器it

  • 若是Git是「集中式」效率

    • 只有服務器會擁有文件夾全部版本
    • 每次工做,你只會從服務器得到一個版本(通常是最新的,按你的需求能夠得到舊的)程序

    • 你是被動的
      由於須要等待服務器返回版本。上傳版本時,也須要等待服務器徹底接收。文件

    • 要是服務器掛了,你和你的同事就沒辦法再得到其餘版本
      若是這時你須要用到其餘版本,你不得不中止工做等待服務器復活。(明顯這樣很差。)工作

  • 因此Git是分佈式的!上傳

    • 你、你的同事、服務器都會擁有文件夾全部版本版本

    • 你如今是主動的!
      由於你擁有所有版本
      因此不管你作什麼,你只需從本地得到版本,而不是從服務器得到版本。

    • 你修改的版本,還必須和你的同事的版本合併
      你能夠直接和同事合併。可是一旦同事多起來,這效率會明顯降低

    • 因此最好仍是要一臺服務器做爲中心,來合併全部版本,提升效率
      哪怕服務器掛了,只會令合併同事的版本變麻煩一點,而不會再中止工做
      (這就是分佈式)

相關文章
相關標籤/搜索