github--學習筆記(二)

DreamTruth發表於2019-02-20

windows 作業系統

本地倉庫管理

一、版本回退

  • HEAD指向的版本就是當前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id
  • 穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。
  • 要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

二、工作區和暫存區

工作區(Working Directory):就是你在電腦裡能看到的目錄,比如我的learngit資料夾就是一個工作區

版本庫(Repository):工作區有一個隱藏目錄.git,這個不算工作區,而是Git的版本庫。

Git的版本庫裡存了很多東西,其中最重要的就是稱為stage(或者叫index)的暫存區,還有Git為我們自動建立的第一個分支master,以及指向master的一個指標叫HEAD

github--學習筆記(二)

因為我們建立Git版本庫時,Git自動為我們建立了唯一一個master分支,所以,現在,git commit就是往master分支上提交更改。git add命令實際上就是把要提交的所有修改放到暫存區(Stage),然後,執行git commit就可以一次性把暫存區的所有修改提交到分支。

一旦提交後,如果你又沒有對工作區做任何修改,那麼工作區就是“乾淨”的。現在版本庫變成了這樣,暫存區就沒有任何內容了:

github--學習筆記(二)

三、管理修改

每次修改,如果不用git add到暫存區,那就不會加入到commit中。

四、撤銷修改

場景1:當你改亂了工作區某個檔案的內容,想直接丟棄工作區的修改時,用命令git checkout -- file

場景2:當你不但改亂了工作區某個檔案的內容,還新增到了暫存區時,想丟棄修改,分兩步,第一步用命令git reset HEAD <file>,就回到了場景1,第二步按場景1操作。

場景3:已經提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節,不過前提是沒有推送到遠端庫。

五、刪除檔案

$ rm test.txt
複製程式碼

確實要從版本庫中刪除該檔案,那就用命令git rm刪掉,並且git commit

命令git rm用於刪除一個檔案。如果一個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。

相關文章