2.文件操作

添加文件到版本庫
先保證文件在之前創建的倉庫目錄下
第一步,用命令git add <file>告訴Git,把文件添加到倉庫:(執行完後沒什麼顯示就對了)
第二步,用命令git commit告訴Git,把文件提交到倉庫:(-m後面輸入的是本次提交的說明,可以輸入任意內容)

注意:commit可以一次提交很多文件,所以你可以多次add不同的文件。
修改文件
先將readme.txt的內容改一下
運行git status命令看看結果:

git status命令可以讓我們時刻掌握倉庫當前的狀態,上面的命令告訴我們,readme.txt被修改過了,但還沒有準備提交的修改。
運行git diff <file>命令查看修改的內容:

提交修改和提交新文件是一樣的兩步

這裏Git提示當前沒有需要提交的修改,工作目錄是乾淨(working directory clean)的。
版本回退
你可以不斷對文件進行修改,然後不斷提交修改到版本庫裏。每當你覺得文件修改到一定程度的時,就可以“進行一個存檔”,在Git中被稱爲commit。一旦你把文件改亂了,或者誤刪了文件,還可以從最近的一個commit恢復,然後繼續工作,而不是把幾個月的工作成果全部丟失。
運行git log命令查看歷史記錄

git log命令顯示從最近到最遠的提交日誌
運行git log --pretty=oneline命令

上面黃色的一大串是版本號commit id
在退回上一個版本之前Git需要知道當前是哪個版本,在Git中,用HEAD表示當前版本,也就是最新的提交的commit id(每個人的是不一樣的),上一個版本就是HEAD^,上上一個版本就是HEAD^^,當然往上100個版本寫100個^比較容易數不過來,所以寫成HEAD~100。
運行git reset --hard HEAD^命令返回上一個版本
運行cat readme.txt查看

已經回到了上一個版本,現在用git log 查看一下狀態

此時可以看見,最新那個版本已經沒有了。如果想要再回到之前那個版本就要在當前命令窗口沒關閉的情況下找到之前那個版本的commit id,在進入就行。(版本號沒必要寫全,前幾位就可以了,Git會自動去找。當然也不能只寫前一兩位,因爲Git可能會找到多個版本號,就無法確定是哪一個了。)

Git提供了一個git reflog命令來查看你執行的每一條歷史命令
運行git reflog命令

可以使用這個命令去查找以前的版本號
注意:
Git的版本回退速度非常快,因爲Git在內部有個指向當前版本的HEAD指針,當你回退版本的時候,Git僅僅是把HEAD從指向append GPL:

改爲指向add distributed:

然後順便把工作區的文件更新了。所以你讓HEAD指向哪個版本號,你就把當前版本定位在哪。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章