git介紹

gitbook下載

git教程廖雪峰

本篇博客部分來自pro git 和廖雪峰的gitl教程

版本控制

  • 本控制系統(tǒng)(VCS version control system)

    是一種記錄一個或若干文件內(nèi)容變化秧饮,
    以便將來查閱特定版本修訂情況的系統(tǒng)狭握。 在本書所展示的例子中磺箕,我們對保存著軟件源代碼
    的文件作版本控制锡溯,但實際上届垫,你可以對任何類型的文件進行版本控制惭载。

  • . 本地版本控制

其中最流行的一種叫做 RCS洽蛀,現(xiàn)今許多計算機系統(tǒng)上都還看得到它的蹤影心例。 甚至在流行的
Mac OS X 系統(tǒng)上安裝了開發(fā)者工具包之后演顾,也可以使用 rcs 命令供搀。 它的工作原理是在硬盤
上保存補丁集(補丁是指文件修訂前后的變化);通過應(yīng)用所有的補丁钠至,可以重新計算出各
個版本的文件內(nèi)容葛虐。

  • 集中化的版本控制系統(tǒng)
    為協(xié)同工作開發(fā)的版本
    控制系統(tǒng)統(tǒng)(Centralized Version Control Systems,簡稱 CVCS)應(yīng)運而生棉钧。 這類系統(tǒng)屿脐,諸如
    CVS、Subversion 以及 Perforce 等,都有一個單一的集中管理的服務(wù)器的诵,保存所有文件的修
    訂版本万栅,而協(xié)同工作的人們都通過客戶端連到這臺服務(wù)器,取出最新的文件或者提交更新西疤。
    多年以來烦粒,這已成為版本控制系統(tǒng)的標準做法。
  • 缺點:代赁。 這么做最顯而易見的缺點是中央服務(wù)器的單點故障扰她。。 如果宕機一小
    時芭碍,那么在這一小時內(nèi)徒役,誰都無法提交更新,也就無法協(xié)同工作窖壕。 如果中心數(shù)據(jù)庫所在的磁
    盤發(fā)生損壞忧勿,又沒有做恰當備份,毫無疑問你將丟失所有數(shù)據(jù)——包括項目的整個變更歷
    史艇拍,只剩下人們在各自機器上保留的單獨快照狐蜕。

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

于是分布式版本控制系統(tǒng)(Distributed Version Control System,簡稱 DVCS) 卸夕。 在這
類系統(tǒng)中层释,像 Git、Mercurial快集、Bazaar 以及 Darcs 等贡羔,客戶端并不只提取最新版本的文件快
照,而是把代碼倉庫完整地鏡像下來个初。 這么一來乖寒,任何一處協(xié)同工作用的服務(wù)器發(fā)生故障,
事后都可以用任何一個鏡像出來的本地倉庫恢復院溺。 因為每一次的克隆操作楣嘁,實際上都是一次
對代碼倉庫的完整備份。 因為每一次的克隆操作珍逸,實際上都是一次
對代碼倉庫的完整備份逐虚。

Git 簡史

同生活中的許多偉大事物一樣,Git 誕生于一個極富紛爭大舉創(chuàng)新的年代谆膳。
Linux 內(nèi)核開源項目有著為數(shù)眾廣的參與者叭爱。 絕大多數(shù)的 Linux 內(nèi)核維護工作都花在了提交補
丁和保存歸檔的繁瑣事務(wù)上(1991-2002年間)。 到 2002 年漱病,整個項目組開始啟用一個專
有的分布式版本控制系統(tǒng) BitKeeper 來管理和維護代碼买雾。
到了 2005 年把曼,開發(fā) BitKeeper 的商業(yè)公司同 Linux 內(nèi)核開源社區(qū)的合作關(guān)系結(jié)束,他們收回
了 Linux 內(nèi)核社區(qū)免費使用 BitKeeper 的權(quán)力漓穿。 這就迫使 Linux 開源社區(qū)(特別是 Linux 的
締造者 Linus Torvalds)基于使用 BitKcheper 時的經(jīng)驗教訓嗤军,開發(fā)出自己的版本系統(tǒng)。 他們
對新的系統(tǒng)制訂了若干目標:
速度
簡單的設(shè)計
對非線性開發(fā)模式的強力支持(允許成千上萬個并行開發(fā)的分支)
完全分布式
有能力高效管理類似 Linux 內(nèi)核一樣的超大規(guī)模項目(速度和數(shù)據(jù)量)

Git 基礎(chǔ)

  • 直接記錄快照器净,而非差異比較
  • 近乎所有操作都是本地執(zhí)行
  • Git 保證完整性
    Git 中所有數(shù)據(jù)在存儲前都計算校驗和型雳,然后以校驗和來引用。 這意味著不可能在 Git 不知情
    時更改任何文件內(nèi)容或目錄內(nèi)容山害。
  • Git 一般只添加數(shù)據(jù)

三種狀態(tài)

  • 已提交(committed)
    數(shù)據(jù)已經(jīng)安全的保存在本地數(shù)據(jù)庫中纠俭。
  • 已修改(modified)
    已修改表示修改了文件,但
    還沒保存到數(shù)據(jù)庫中浪慌。
  • 已暫存(staged)
    已暫存表示對一個已修改文件的當前版本做了標記冤荆,使之包含在下次
    提交的快照中。

由此引入 Git 項目的三個工作區(qū)域的概念:Git 倉庫权纤、工作目錄以及暫存區(qū)域钓简。
image.png

Git 工作流程:

  1. 在工作目錄中修改文件。
  2. 暫存文件汹想,將文件的快照放入暫存區(qū)域外邓。
  3. 提交更新,找到暫存區(qū)域的文件古掏,將快照永久性存儲到 Git 倉庫目錄损话。

記錄每次更新到倉庫

工作目錄下的每一個文件都不外乎這兩種狀態(tài):已跟蹤或未跟蹤。 已跟蹤的文件
是指那些被納入了版本控制的文件槽唾,在上一次快照中有它們的記錄丧枪,在工作一段時間后,它
們的狀態(tài)可能處于未修改庞萍,已修改或已放入暫存區(qū)拧烦。 工作目錄中除已跟蹤文件以外的所有其
它文件都屬于未跟蹤文件,它們既不存在于上次快照的記錄中钝计,也沒有放入暫存區(qū)恋博。 初次克
隆某個倉庫的時候,工作目錄中的所有文件都屬于已跟蹤文件私恬,并處于未修改狀態(tài)交播。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市践付,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缺厉,老刑警劉巖永高,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隧土,死亡現(xiàn)場離奇詭異,居然都是意外死亡命爬,警方通過查閱死者的電腦和手機曹傀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饲宛,“玉大人皆愉,你說我怎么就攤上這事⊥Э伲” “怎么了幕庐?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長家淤。 經(jīng)常有香客問我异剥,道長,這世上最難降的妖魔是什么絮重? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任冤寿,我火速辦了婚禮,結(jié)果婚禮上青伤,老公的妹妹穿的比我還像新娘督怜。我一直安慰自己,他們只是感情好狠角,可當我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布号杠。 她就那樣靜靜地躺著,像睡著了一般擎厢。 火紅的嫁衣襯著肌膚如雪究流。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天动遭,我揣著相機與錄音芬探,去河邊找鬼。 笑死厘惦,一個胖子當著我的面吹牛偷仿,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宵蕉,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼酝静,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了羡玛?” 一聲冷哼從身側(cè)響起别智,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎稼稿,沒想到半個月后薄榛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體讳窟,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡疑苔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年瘦赫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灶泵。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡硬猫,死狀恐怖补箍,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情啸蜜,我是刑警寧澤坑雅,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站盔性,受9級特大地震影響霞丧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冕香,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一蛹尝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧悉尾,春花似錦突那、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至惫霸,卻和暖如春猫缭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背壹店。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工猜丹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人硅卢。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓射窒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親将塑。 傳聞我的和親對象是個殘疾皇子脉顿,可洞房花燭夜當晚...
    茶點故事閱讀 42,792評論 2 345

推薦閱讀更多精彩內(nèi)容

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來点寥。這樣一來艾疟,任何一處協(xié)同...
    __silhouette閱讀 15,855評論 5 147
  • Git 命令行學習筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉庫完整的鏡像下來...
    sunnyghx閱讀 3,904評論 0 11
  • 一:Git是什么? Git是目前世界上最先進的分布式版本控制系統(tǒng)汉柒。 二:SVN與Git的最主要的區(qū)別误褪? SVN是集...
    2015哈哈哈閱讀 452評論 1 3
  • 當下的時代,80后碾褂、90后背負著學業(yè)、事業(yè)历葛、婚姻等多個方面的壓力正塌。好不容易畢業(yè)了,踏入職場才發(fā)現(xiàn)學校里原來是天堂恤溶。...
    周平平閱讀 240評論 0 1
  • 看圖片乓诽,你也許會認為這是一個小漁村,其實咒程,這是一個十年九旱的小縣城鸠天,她的名字叫做喀左,她的全稱是:喀喇沁左翼蒙古族...
    劉小柒柒閱讀 379評論 0 6