前言
前面已經(jīng)寫了一部分,下面接著來。
直接打開之前的工作空間,執(zhí)行:

1.工作區(qū)和緩存區(qū)。新建一個文件b.rtf放入上一章的gitlearn目錄下,gitlearn就相當(dāng)于工作區(qū)。執(zhí)行:

這時提示b.rtf從未被添加過。
執(zhí)行:
$ git add b.rtf
這時b.rtf會從工作區(qū)加入暫存區(qū)。執(zhí)行:
$ git commit -m "xxx"
一次性把暫存區(qū)所有的修改提交到分支。
2.管理修改。
git管理的不是文件,而是修改,每次修改后需要 add 再 commit ,如果沒有add ,直接commit ,則該修改沒有提交。
第一次修改->
git add->第二次修改->git add->git commit?;蛘?br> 第一次修改->第二次修改->git add->git commit
3.撤銷工作區(qū)或暫存區(qū)修改。
$git checkout -- b.rtf
回退到最近一次修改前的狀態(tài)。
4.撤銷暫存區(qū)的修改。
$ git reset HEAD file
如果從暫存區(qū)提交到了版本庫,就用上一節(jié)的版本回退。
小結(jié)
git checkout -- file丟棄工作區(qū)的修改
git reset HEAD file丟棄暫存區(qū)的修改
如果提交到了版本庫,就進(jìn)行版本回退
5.一般情況直接在目錄里刪掉或者執(zhí)行:
$ rm b.rtf
這時候git知道你刪除了文件,因此工作區(qū)和版本庫就不一致了,git status命令會告訴你哪些文件被刪除了。
* 如果確實要刪除該文件,執(zhí)行:
$ git rm b.rtf
* 如果是誤刪的文件,因為版本庫中還有,執(zhí)行:
$ git checkout -- b.rtf
與撤銷修改一致
小結(jié)
$ git rm b.rtf 刪除文件
$ git checkout -- file 撤銷刪除
6.刪除git倉庫中的文件,但保留工作區(qū)的。
我們想把文件從 Git 倉庫中刪除(亦即從暫存區(qū)域移除),但仍然希望保留在當(dāng)前工作目錄中。換句話說,僅是從跟蹤清單中刪除。比如一些大型日志文件或者一堆 .a 編譯文件,不小心納入倉庫后,要移除跟蹤但不刪除文件,以便稍后在 .gitignore 文件中補上,用 --cached 選項即可:
$ git rm --cached b.rtf
7.修改文件名稱
如果在 Git 中重命名了某個文件,倉庫中存儲的元數(shù)據(jù)并不會體現(xiàn)出這是一次改名操作,要執(zhí)行:
$ git mv 文件名 文件名
小結(jié)
$ git rm --cached b.rtf 刪除git倉庫中的文件,但保留 工作區(qū)的
$ git mv 文件名 文件名 修改文件名稱附加:
$ git log -p -2 查看最近2次的歷史記錄
$ git log --stat 查看簡要的增改行數(shù)統(tǒng)計
$ git log --pretty=oneline 將每個提交放在一行顯示
$ git log --pretty=format:"%h -%an, %ar : %s" 自定義顯示格式
列出常用的格式占位符寫法及其代表的意義
