git學習筆記(二)

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-treegit write-tree 將暫存區的目錄樹寫入git對象庫

git ls-tree -l <這裏是執行git write-tree 命令後顯示的SHA1查看暫存區目錄樹

 

 

 

 

 

遞歸操做顯示暫存區目錄樹

git write-tree | xargs git ls-tree -l -r -t

 

保存當前工做進度

git stash

相關文章
相關標籤/搜索