2022-10-20 Git 工作區(qū)、暫存區(qū)和版本庫

基本概念

我們先來理解下 Git 工作區(qū)、暫存區(qū)和版本庫概念:

工作區(qū):就是你在電腦里能看到的目錄蝴罪。

暫存區(qū):英文叫 stage 或 index。一般存放在?.git?目錄下的 index 文件(.git/index)中步清,所以我們把暫存區(qū)有時也叫作索引(index)要门。

版本庫:工作區(qū)有一個隱藏目錄?.git,這個不算工作區(qū)廓啊,而是 Git 的版本庫欢搜。

下面這個圖展示了工作區(qū)、版本庫中的暫存區(qū)和版本庫之間的關系:


圖中左側(cè)為工作區(qū)谴轮,右側(cè)為版本庫狂巢。在版本庫中標記為 "index" 的區(qū)域是暫存區(qū)(stage/index),標記為 "master" 的是 master 分支所代表的目錄樹书聚。

圖中我們可以看出此時 "HEAD" 實際是指向 master 分支的一個"游標"唧领。所以圖示的命令中出現(xiàn) HEAD 的地方可以用 master 來替換。

圖中的 objects 標識的區(qū)域為 Git 的對象庫雌续,實際位于 ".git/objects" 目錄下斩个,里面包含了創(chuàng)建的各種對象及內(nèi)容。

當對工作區(qū)修改(或新增)的文件執(zhí)行?git add?命令時驯杜,暫存區(qū)的目錄樹被更新受啥,同時工作區(qū)修改(或新增)的文件內(nèi)容被寫入到對象庫中的一個新的對象中,而該對象的ID被記錄在暫存區(qū)的文件索引中鸽心。

當執(zhí)行提交操作(git commit)時滚局,暫存區(qū)的目錄樹寫到版本庫(對象庫)中,master 分支會做相應的更新顽频。即 master 指向的目錄樹就是提交時暫存區(qū)的目錄樹藤肢。

當執(zhí)行?git reset HEAD?命令時,暫存區(qū)的目錄樹會被重寫糯景,被 master 分支指向的目錄樹所替換嘁圈,但是工作區(qū)不受影響。

當執(zhí)行?git rm --cached <file>?命令時蟀淮,會直接從暫存區(qū)刪除文件最住,工作區(qū)則不做出改變。

當執(zhí)行?git checkout .?或者?git checkout -- <file>?命令時怠惶,會用暫存區(qū)全部或指定的文件替換工作區(qū)的文件涨缚。這個操作很危險,會清除工作區(qū)中未添加到暫存區(qū)中的改動策治。

當執(zhí)行?git checkout HEAD .?或者?git checkout HEAD <file>?命令時脓魏,會用 HEAD 指向的 master 分支中的全部或者部分文件替換暫存區(qū)和以及工作區(qū)中的文件。這個命令也是極具危險性的览妖,因為不但會清除工作區(qū)中未提交的改動轧拄,也會清除暫存區(qū)中未提交的改動。

Git 基本操作

Git 的工作就是創(chuàng)建和保存你項目的快照及與之后的快照進行對比讽膏。

本章將對有關創(chuàng)建與提交你的項目快照的命令作介紹檩电。

Git 常用的是以下 6 個命令:git clonegit push府树、git add?俐末、git commitgit checkout奄侠、git pull卓箫,后面我們會詳細介紹。


說明:

workspace:工作區(qū)

staging area:暫存區(qū)/緩存區(qū)

local repository:版本庫或本地倉庫

remote repository:遠程倉庫

一個簡單的操作步驟:

git init - 初始化倉庫垄潮。

git add . - 添加文件到暫存區(qū)烹卒。

git commit - 將暫存區(qū)內(nèi)容添加到倉庫中闷盔。

創(chuàng)建倉庫命令

命令?? ?說明

git init?? ?初始化倉庫

git clone?? ?拷貝一份遠程倉庫,也就是下載一個項目旅急。

提交與修改

Git 的工作就是創(chuàng)建和保存你的項目的快照及與之后的快照進行對比逢勾。

下表列出了有關創(chuàng)建與提交你的項目的快照的命令:

命令?? ?說明

git add?? ?添加文件到暫存區(qū)

git status?? ?查看倉庫當前的狀態(tài),顯示有變更的文件藐吮。

git diff?? ?比較文件的不同溺拱,即暫存區(qū)和工作區(qū)的差異。

git commit?? ?提交暫存區(qū)到本地倉庫谣辞。

git reset?? ?回退版本迫摔。

git rm?? ?將文件從暫存區(qū)和工作區(qū)中刪除。

git mv?? ?移動或重命名工作區(qū)文件泥从。

提交日志

命令?? ?說明

git log?? ?查看歷史提交記錄

git blame ?? ?以列表形式查看指定文件的歷史修改記錄

遠程操作

命令?? ?說明

git remote?? ?遠程倉庫操作

git fetch?? ?從遠程獲取代碼庫

git pull?? ?下載遠程代碼并合并

git push?? ?上傳遠程代碼并合并

大家快來一起學習 GIT 分布式版本控制系統(tǒng)句占,缺乏機器練手的小伙伴可以去 cnaaa 看一看!

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末歉闰,一起剝皮案震驚了整個濱河市辖众,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌和敬,老刑警劉巖凹炸,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異昼弟,居然都是意外死亡啤它,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門舱痘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來变骡,“玉大人,你說我怎么就攤上這事芭逝∷担” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵旬盯,是天一觀的道長台妆。 經(jīng)常有香客問我,道長胖翰,這世上最難降的妖魔是什么接剩? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮萨咳,結(jié)果婚禮上懊缺,老公的妹妹穿的比我還像新娘。我一直安慰自己培他,他們只是感情好鹃两,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布遗座。 她就那樣靜靜地躺著,像睡著了一般俊扳。 火紅的嫁衣襯著肌膚如雪员萍。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天拣度,我揣著相機與錄音,去河邊找鬼螃壤。 笑死抗果,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的奸晴。 我是一名探鬼主播冤馏,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼寄啼!你這毒婦竟也來了逮光?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤墩划,失蹤者是張志新(化名)和其女友劉穎涕刚,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乙帮,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡杜漠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了察净。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片驾茴。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖氢卡,靈堂內(nèi)的尸體忽然破棺而出锈至,到底是詐尸還是另有隱情,我是刑警寧澤译秦,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布峡捡,位于F島的核電站,受9級特大地震影響诀浪,放射性物質(zhì)發(fā)生泄漏棋返。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一雷猪、第九天 我趴在偏房一處隱蔽的房頂上張望睛竣。 院中可真熱鬧,春花似錦求摇、人聲如沸射沟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽验夯。三九已至猖吴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挥转,已是汗流浹背海蔽。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绑谣,地道東北人党窜。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像借宵,于是被迫代替她去往敵國和親幌衣。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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