版本控制Git記述

進化史

本地版本控制系統(tǒng)

許多人習慣用復(fù)制整個項目目錄的方式來保存不同的版本,或許還會改名加上備份時間以示區(qū)別。 這么做唯一的好處就是簡單,但是特別容易犯錯。 有時候會混淆所在的工作目錄,一不小心會寫錯文件或者覆蓋意想外的文件。

為了解決這個問題,人們很久以前就開發(fā)了許多種本地版本控制系統(tǒng),大多都是采用某種簡單的數(shù)據(jù)庫來記錄文件的歷次更新差異。


本地版本控制系統(tǒng)
集中化的版本控制系統(tǒng)

接下來人們又遇到一個問題,如何讓在不同系統(tǒng)上的開發(fā)者協(xié)同工作? 于是,集中化的版本控制系統(tǒng)(Centralized Version Control Systems,簡稱 CVCS)應(yīng)運而生。這么做最顯而易見的缺點是中央服務(wù)器的單點故障。 如果宕機一小時,那么在這一小時內(nèi),誰都無法提交更新,也就無法協(xié)同工作。 如果中心數(shù)據(jù)庫所在的磁盤發(fā)生損壞,又沒有做恰當備份,毫無疑問您將丟失所有數(shù)據(jù)——包括項目的整個變更歷史,只剩下人們在各自機器上保留的單獨快照。本地版本控制系統(tǒng)也存在類似問題,只要整個項目的歷史記錄被保存在單一位置,就有丟失所有歷史更新記錄的風險。


集中化的版本控制系統(tǒng)
分布式版本控制系統(tǒng)

于是分布式版本控制系統(tǒng)(Distributed Version Control System,簡稱 DVCS)面世了


分布式版本控制系統(tǒng)

Git 最常用的命令

git clone [url]
git push [遠程路徑(orgin)]  [本地分支(master)]:[refs/for(heads)/遠程分支(master)]
git pull
git log
git show [commitId]
git diff
git status
git add .
git commit -m "[string]"
git config -l
git reset --hard [commitId]
git branch -a
git checkout -b
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第1章 Shell和vi 1.1什么是shell 在計算機科學(xué)中,Shell俗稱殼,用來區(qū)別于Kernel(核),...
    福爾摩雞閱讀 1,194評論 0 1
  • 做開發(fā),你們肯定會接觸到這樣一個概念,那就是版本控制。借用當下流行的一句話,如果你是一個開發(fā)人員,不理解版本控制,...
    甜甜的清風啊閱讀 669評論 2 6
  • 學(xué)習內(nèi)容: 使用Mybatis開發(fā)Dao,通常有兩個方法: 原生Dao開發(fā) Mapper接口開發(fā)方法 1. 原生D...
    Olivine_Vip閱讀 469評論 0 0
  • 對于簡書作者如何在平臺內(nèi)尋找自己的定位,在《聊聊我對簡書的認識》這篇文章中,我提出的第一個切入點是從文章內(nèi)容入手。...
    寧小南閱讀 3,817評論 23 63
  • 生活太豐富、教會了我太多??此齐s亂無章、卻又緊緊有條。26歲倒計時的年齡,面對生活要跑起來,但速度要把握的盡可...
    龍女快跑閱讀 216評論 0 0

友情鏈接更多精彩內(nèi)容