Git學習筆記 二

2021-07-10 23:53:32 字數 1409 閱讀 7466

小白一枚。學習筆記。僅供參考。歡迎指錯。

二、基本的git概念

git版本庫不僅儲存庫中所有檔案的完整副本,而且儲存版本庫本身的副本。

git維護的兩個主要的資料結構 物件庫(object store) 索引(index)

索引 臨時的、動態的二進位制檔案,它描述的是版本庫的目錄結構。更準確地說,索引捕獲專案在某個時刻的整體結構的乙個版本。專案的狀態可以用乙個提交和一棵目錄樹表示。

git追蹤的是內容,基於資料的雜湊值而不是檔名或者目錄名。

底層的實現

git cat-file -p 98e7483d #檢視物件id的內容

git rev-parse 98e7483d #檢視完整的物件id

當使用git add後,git會給新增的每個檔案的內容建立乙個物件,但不會立刻為樹建立乙個物件,卻會立刻更新索引。 .git/index

git ls-files -s

git write-tree #捕獲索引狀態儲存到數物件

git cat-file -p b9a79fd #檢視樹的內容

git write-tree #捕獲索引的狀態儲存到樹物件

git status #發現未提交。??

git tag -m 「tag version 1.0」 v1.0 3ed454d

git rev-parse v1.0

Git學習筆記(二)

1.忽略檔案 git提供了一種可配性很強的機制來允許使用者將制定的檔案或目錄排除在版本控制之外,它會檢查 倉庫的根目錄下是否存在乙個名為.gitignore的檔案,如果存在的話就去一行一行的讀取這個檔案裡邊的內容並把每一行指定的檔案或目錄排除在版本控制之外。注意.gitignore中指定的檔案或目錄...

Git學習筆記(二)

1 分支 git branch m master mymaster m引數告訴git要執行分支移動 重新命名 操作。另外兩個引數分別是分支原名稱和新名稱。git branch 檢視分支。該命令沒有引數,git顯示本地版本庫中所有的本地分支名稱。結果中,前面帶星號的分支是當前檢出的分支,即當前工作目錄...

Git 學習筆記二

git commit 只會提交暫存區裡的檔案 撤銷修改 git checkout readme.txt 此命令會讓檔案回到最近的一次git commit 或 git add 時候的狀態 上述的是丟棄工作區修改,如果新增到了暫存區,則使用 git reset head file 可以把暫存區的修改撤銷...