Git本地相關操做(二)

以前的文章咱們學習了git本地操做相關的命令:git initgit statusgit add <file>git commit (-m <describtion>)git diffgit log,具體能夠經過連接查看GIt本地相關操做(一),接下來咱們繼續學習git本地操做相關的命令。git

一.基於本地倉庫進行修改segmentfault

  1. git管理修改
    咱們來進行以下圖展現的操做:
    首先咱們進入/opt/studygit目錄下,對introduce.txt文件進行修改,具體命令緩存

    root@quietor-virtual-machine:~# cd /opt/studygit/
      root@quietor-virtual-machine:/opt/studygit# pwd
      /opt/studygit
      root@quietor-virtual-machine:/opt/studygit# ll
      總用量 16
      drwxr-xr-x 3 root root 4096 8月  28 22:46 ./
      drwxr-xr-x 4 root root 4096 8月  28 00:44 ../
      drwxr-xr-x 8 root root 4096 8月  28 22:47 .git/
      -rw-r--r-- 1 root root  280 8月  28 22:46 introduce.txt

    修改introduce.txt文件的內容如圖所示:
    圖片描述

    修改introduce.txt文件之後,咱們執行git statusgit diffgit add <file>,如圖:
    圖片描述

    咱們繼續對introduce.txt文件進行修改,重複上述步驟,修改:
    圖片描述

    執行git statusgit diffgit add <file>命令,如圖:
    圖片描述圖片描述

    如今咱們執行git commit (-m <describtion>)命令,如圖:
    圖片描述
    咱們會發現,最後一次編輯的內容並無隨着git commit 執行而提交到本地倉庫中去學習


  2. 小結
    咱們操做的大致流程是:修改--->git add-->再次修改---->git commit
    git commit命令,會只提交最近一次git add 命令提交的文件修改內容到本地倉庫中,即便中間有屢次修改,只以最後一次執行git add命令所提交的修改內容爲準,本文中筆者使用的是同一個文件,不一樣文件也是如此。ui


  3. git文件存儲結構
    git管理文件總共分爲三塊空間:工做區、本地版本庫、緩衝區,遠程倉庫
    工做區:本地電腦的上的一個普通目錄
    本地版本庫:git在本地的一個管理文件的文件倉庫
    緩衝區:git本地倉庫的一部分,用於存儲要提交到本地倉庫的文件修改數據
    遠程倉庫:遠端存儲git管理的文件倉庫,能夠多個本地倉庫進行鏈接,經過git pushgit pull與本地倉庫進行文件同步
    具體關係如圖:圖片描述git add把文件添加到stage緩存區,git commit把緩存的數據再提交到當前使用到的分支,圖中dev和遠程倉庫咱們在後續的學習中涉及到,這張圖你們先了解下(圖是具體本身實際操做和網上你們分享的,本身總結的,若是有理解錯誤的,請你們及時指出),經過了解git文件管理結構,咱們能區分git addgit commit命令的各自的做用,以及理解git commit會只提交最後一次git add命令提交的文件改動到本地倉庫的緣由。spa


  4. git刪除文件
    建立一個格式文件,並提交到git倉庫中,如圖:圖片描述

    從git上刪除一個文件:

    第一步,刪除本地文件 rm <file>

    第二步,刪除git上文件 git rm <file>
    第三步,提交更改圖片描述上面的操做咱們會發現,沒有執行「git add」,筆者的理解是提交stage區的操做應該不僅有「git add」,「 git rm 」操做應該也是提交stage區的操做,至於還有沒有其餘操做,筆者限於時間沒有去詳細瞭解,後續有機會會單獨總結,也請你們有了解的,能夠分享出來。3d


二.基於本地倉庫進行撤銷code

  1. 本地文件撤銷(修改文件內容未執行git add命令)

    使用「git checkout -- <file>」來撤銷相關的修改,如圖:圖片描述
    圖片

  2. 暫存區進行撤銷(已經執行了git add命令)
    第一步:執行「git reset HEAD <file>」命令,來撤銷移交到暫存區的數據
    第二步:執行「git checkout -- <file>」撤銷本地文件的相關修改,
    如圖:圖片描述
    get

  3. 刪除文件撤銷
    只刪除本地文件(沒有執行git rm <file>),應該很簡單也是執行「git checkout -- <file>
    圖片描述
    刪除文件提交到stage區(執行了git rm <file>),撤銷
    圖片描述


三.總結

  1. 新的git命令
    git rm <file>
    git checkout -- <file>
    git reset HEAD <file>

  2. git本地管理文件空間的方式
    理解git管理文件的方式,這樣能幫助咱們理解git命令



    上一節:GIt本地相關操做(一) 下一節:Git鏈接遠端倉庫
相關文章
相關標籤/搜索