【每日一題NO.84】Git三連問...

Git 快照
快照的基本思想和 immutable.js 類似:
使用 immutable 生成的對象都是不可變對象,每次對該對象進行修改都會生成一個新的對象,immutable 會維護一個樹形結(jié)構(gòu),新對象的修改只會添加某些節(jié)點,然后返回一個新的指針,并與舊對象共用相同的部分。
Git 快照也是這樣。只不過是在文件系統(tǒng)層面實現(xiàn)的。
我們都知道當你刪除一個文件后,文件原來所占的磁盤空間并不是被清空,而是被文件系統(tǒng)標記為已廢棄,可修改的狀態(tài)。
快照的作用就相當于將舊文件所占的空間保留下來,并且保存一個引用,而新文件中會繼續(xù)使用與舊文件內(nèi)容相同部分的磁盤空間,不同部分則寫入新的磁盤空間。
總的來說,Git 其實也算是保存 diff 的方式,只不過是在文件系統(tǒng)層次上實現(xiàn)的。
Git 的工作區(qū)域
工作區(qū):
用戶本地的工作目錄
暫存區(qū):
一個臨時的用于放置文件改動的緩存區(qū)域
版本區(qū):
既包含了所有版本以及分支的倉庫。
該倉庫里面的文件能夠被 Git 所管理,文件的增加、刪除、修改都能被 Git 所跟蹤。
Git 的工作流程
在工作區(qū)添加、修改文件 將修改后的文件放入暫存區(qū) 將暫存區(qū)的文件提交到本地倉庫 將本地倉庫的修改推送到遠程倉庫
在 Git 中,如何為提交的版本打標簽
切換到需要打標簽的分支上 敲命令 git tag可以打上一個新的標簽用 git tag查看所有的標簽推送標簽 git push --tags
所有《每日一題》的 知識大綱索引腦圖 整理在此:https://www.yuque.com/dfe_evernote/interview/everyday
你也可以點擊文末的 “閱讀原文” 快速跳轉(zhuǎn)

評論
圖片
表情
