git log --stat //--stat參數能夠看到每次提交的文件變動統計git
當前工做分支與版本庫的頭指針HEAD進行比較緩存
git diff HEADspa
由於 git add後,修改的文件都已經添加到緩衝區了,使用git diff 比較不出差別,使用git diff HEAD 才能夠比較出差別,由於畢竟沒有提交指針
撤出緩存區日誌
git reset HEAD 文件名對象
清楚不打算要的修改blog
git checkout -- 文件名遞歸
簡潔顯示狀態it
git status -sio
顯示日誌
git log --pretty=oneline
兩種狀態區別
加入緩衝區以前
加入緩衝區以後
兩個M位置不同
綠色的位於第一例的。表示版本庫中與緩衝區的不同有改動
紅色的位於第二列的.表示緩衝區的與當前工做目錄的不同有改動
git diff 是工做區與緩衝區的差別
git diff HEAD 將工做區與當前分支作比較(當前分支也就是HEAD至關於版本庫)
git diff --cached或者--staged 緩衝區和版本庫作比較
git commit 提交是提交緩衝區的改變到版本庫中
查看.git/index 顯示時間戳
ls --full-time .git/index
git rm --cached <file> 會從暫存區刪除文件。工做區不做出改變
git checkout . 或者 checkout -- <file>會用暫存區的文件或指定文件替換工做區的文件,這個操做很危險
git checkout HEAD . 或者git checkout HEAD <file> 會用HEAD指向的master分支中的所有或部分文件替換工做區和暫存區的文件,很危險
git ls-tree -l HEAD //查看HEAD目錄樹
-l 參數顯示文件大小
git clean -fd
清除工做區當前沒有加入版本庫的文件和目錄
git ls-files -s 顯示暫存區目錄樹
想針對暫存區的目錄樹使用git ls-tree用git write-tree 將暫存區的目錄樹寫入git對象庫
git ls-tree -l <這裏是執行git write-tree 命令後顯示的SHA1碼> 查看暫存區目錄樹
遞歸操做顯示暫存區目錄樹
git write-tree | xargs git ls-tree -l -r -t
保存當前工做進度
git stash