最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git 教程之工作區(qū)、暫存區(qū)和版本庫詳解

 更新時間:2016年09月08日 11:29:03   作者:菜鳥教程  
本文主要介紹Git 工作區(qū)、暫存區(qū)和版本庫的知識,這里整理了詳細的資料,有需要的小伙伴可以參考下

Git 工作區(qū)、暫存區(qū)和版本庫

基本概念

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

工作區(qū):就是你在電腦里能看到的目錄。
暫存區(qū):英文叫stage, 或index。一般存放在"git目錄"下的index文件(.git/index)中,所以我們把暫存區(qū)有時也叫作索引(index)。
版本庫:工作區(qū)有一個隱藏目錄.git,這個不算工作區(qū),而是Git的版本庫。

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

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

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

圖中的 objects 標識的區(qū)域為 Git 的對象庫,實際位于 ".git/objects" 目錄下,里面包含了創(chuàng)建的各種對象及內容。
當對工作區(qū)修改(或新增)的文件執(zhí)行 "git add" 命令時,暫存區(qū)的目錄樹被更新,同時工作區(qū)修改(或新增)的文件內容被寫入到對象庫中的一個新的對象中,而該對象的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建立本地倉庫的兩種方法

    這篇文章主要介紹了詳解Git建立本地倉庫的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08
  • Websocket直播間聊天室教程  GoEasy快速實現(xiàn)聊天室

    Websocket直播間聊天室教程 GoEasy快速實現(xiàn)聊天室

    這篇文章主要介紹了Websocket直播間聊天室教程 GoEasy快速實現(xiàn)聊天室,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • 阿里開源低代碼引擎和生態(tài)建設實戰(zhàn)及思考

    阿里開源低代碼引擎和生態(tài)建設實戰(zhàn)及思考

    這篇文章主要為大家介紹了阿里開源低代碼引擎和生態(tài)建設實戰(zhàn)及思考,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Git 如何放棄所有本地修改的方法

    Git 如何放棄所有本地修改的方法

    這篇文章主要介紹了Git 如何放棄所有本地修改的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 關于提交項目到gitee報錯Push to origin/master was rejected的問題

    關于提交項目到gitee報錯Push to origin/master was rejected的問題

    這篇文章主要介紹了提交項目到gitee報錯Push to origin/master was rejected的解決辦法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 十步搞定uni-app使用字體圖標的方法

    十步搞定uni-app使用字體圖標的方法

    uni-app是一個使用Vue.js開發(fā)跨平臺個人文庫應用的前端框架,開發(fā)者編寫一套代碼,可編譯到的iOS,安卓,H5,小程序等多個平臺。這篇文章主要介紹了十步搞定uni-app使用字體圖標的方法,需要的朋友可以參考下
    2020-04-04
  • IntelliJ IDEA 性能優(yōu)化的教程詳解

    IntelliJ IDEA 性能優(yōu)化的教程詳解

    這篇文章主要介紹了IntelliJ IDEA 性能優(yōu)化的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Git常用場景使用之分支操作

    Git常用場景使用之分支操作

    這篇文章主要介紹了Git常用場景使用-分支操作,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 關于WebSocket協(xié)議狀態(tài)碼解析

    關于WebSocket協(xié)議狀態(tài)碼解析

    這篇文章主要介紹了關于WebSocket協(xié)議狀態(tài)碼的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • Clion、IEDA、pycharm的一些簡單設置步驟(設置中文菜單、輸出中文、字體大小、背景顏色主題)

    Clion、IEDA、pycharm的一些簡單設置步驟(設置中文菜單、輸出中文、字體大小、背景顏色主題)

    這篇文章主要介紹了Clion、IEDA、pycharm的一些簡單設置步驟(設置中文菜單、輸出中文、字體大小、背景顏色主題),本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08

最新評論

柳河县| 顺平县| 郁南县| 青浦区| 雷州市| 金湖县| 石门县| 永春县| 大厂| 依安县| 吉安市| 济源市| 高清| 都昌县| 讷河市| 阿克| 聂拉木县| 元朗区| 安化县| 浙江省| 印江| 望谟县| 安乡县| 太仆寺旗| 石城县| 凤山市| 钟祥市| 永年县| 邻水| 上饶县| 会东县| 原平市| 东阿县| 安西县| 廉江市| 西城区| 中江县| 凤台县| 武穴市| 息烽县| 崇信县|