git log --stat //--stat引數可以看到每次提交的檔案變更統計
當前工作分支與版本庫的頭指標head
進行比較
git diff head
因為 git add
後,修改的檔案都已經新增到緩衝區了,使用
git diff
比較不出差異,使用
git diff head
才可以比較出差異,因為畢竟沒有提交
撤出快取區
git reset head 檔名
清楚不打算要的修改
git checkout -- 檔名
簡潔顯示狀態
git status -s
顯示日誌
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 會從暫存區刪除檔案。工作區不作出改變
git checkout . 或者
checkout --
會用暫存區的檔案或指定檔案替換工作區的檔案,這個操作很危險
git checkout head . 或者
git checkout head
會用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 stash
Git學習筆記(二)
1.忽略檔案 git提供了一種可配性很強的機制來允許使用者將制定的檔案或目錄排除在版本控制之外,它會檢查 倉庫的根目錄下是否存在乙個名為.gitignore的檔案,如果存在的話就去一行一行的讀取這個檔案裡邊的內容並把每一行指定的檔案或目錄排除在版本控制之外。注意.gitignore中指定的檔案或目錄...
Git學習筆記(二)
1 分支 git branch m master mymaster m引數告訴git要執行分支移動 重新命名 操作。另外兩個引數分別是分支原名稱和新名稱。git branch 檢視分支。該命令沒有引數,git顯示本地版本庫中所有的本地分支名稱。結果中,前面帶星號的分支是當前檢出的分支,即當前工作目錄...
Git學習筆記 二
小白一枚。學習筆記。僅供參考。歡迎指錯。二 基本的git概念 git版本庫不僅儲存庫中所有檔案的完整副本,而且儲存版本庫本身的副本。git維護的兩個主要的資料結構 物件庫 object store 索引 index 索引 臨時的 動態的二進位制檔案,它描述的是版本庫的目錄結構。更準確地說,索引捕獲專...