1. 程式人生 > >git 學習(散記)之二(檔案提交、版本回退、暫存區與工作區、撤銷修改)

git 學習(散記)之二(檔案提交、版本回退、暫存區與工作區、撤銷修改)

提示:如果是初學者 可以按照我的命令敲一遍。在第一篇要去註冊一個github賬號才能繫結本地倉庫

一、修改檔案處理以及檢視操作

   vim readme.txt  //開啟後隨便修改一下

  git status  //檢視狀態

如果想看檔案改了什麼  可以用  git diff readme.txt   來看修改的內容 

  git add readme.txt  

  git commit -m"update small readme.txt"

  ok,修改後又重新提交了。

二、版本回退(步驟:通過git log檢視提交歷史版本id   回退至此id即可)

   git log //檢視歷史版本記錄

  git reset --hard commit_id  //回退至此commit_id的版本  版本回退後 此版本之前的檔案修改就會返回至此版本下,注意提前做備份

  要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。同樣使用git reset --hard commit_id 回到未來的版本

三、git暫存區與工作區(與svn的差別 是git有暫存區 而svn無)

工作區就是本地的資料夾,修改增加檔案工作的地方

暫存區:是git add XXX 新增檔案時候提交到暫存區   通過git commit -m"xxxx" 統一提交到git倉庫

四、為什麼Git比其他版本控制系統設計得優秀,因為Git跟蹤並管理的是修改,而非檔案。

修改檔案->git add XXX ->第二次修改-> git add XXX ->git commit -m"xxx"   這樣commit真正提交的是第一次修改的檔案

若第二次修改後 再次進行git add XX   git commit -m"xxx"  則第二次修改的同時提交(理解暫存區的概念)

五、撤銷修改

情況1,修改readem.txt後  發現改錯了 怎麼辦?   

           方法1:通過手動的方式修改程式碼;

          方法2:git  checkout --readem.txt  撤銷工作區修改的程式碼,就是讓這個檔案回到最近一次git commitgit add時的狀態。。注意--非常重要 若無,則是切換分支命令

情況2:修改readem.txt 並且git add到暫存區了,發現改錯了,怎麼辦?

       方法:git reset HEAD readem.txt   把暫存區的修改撤銷掉(unstage),重新放回工作區

小結: 1.修改檔案後重新提交  vim readem.txt   git add XX   -->   git commit -m"XX"

            2.版本回退:git log 檢視版本id   git reset --hard 版本id  

           3.理解暫存區、工作區的概念  git add後 使檔案提交到暫存區 但不算是真正的提交的線上倉庫

          4.撤銷修改    (1)工作區回退  git checkout --檔名   使之回到最近一次git add或者git commit 時候的程式碼狀態

                               (2)暫存區回退: git reset HEAD readem.txt 把暫存區的修改撤銷 重新放回工作區  然後可使用git checkout --readem.txt  使檔案回到最近一次提交時候的狀態

 

需要記住: git  add

                  git commit -m""

                  git reset --hard commit_id(版本id)

                  git checkout --XXX

                  git reset HEAD XXX