Git學習筆記(二)

2021-09-28 20:55:47 字數 1082 閱讀 6207

圖中最左側即為工作區,右側即為版本庫,而index的區域就是暫存區(stage/index),標記為master的是master分支所代表的目錄樹。

head實際指向master分支的乙個「指標」,所以在輸入shell命令時,可以head替換master

objects標識區域為git物件庫,裡面包含建立的各種物件及內容。

當對工作區修改(或新增)的檔案執行git add命令時,暫存區的目錄樹被更新,同時工作區修改(或新增)的檔案內容被寫入到物件庫中的乙個新的物件中,而該物件的id被記錄在暫存區的檔案索引中。

當執行提交操作git commit時,暫存區的目錄樹寫到版本庫(物件庫)中,master分支會做相應的更新。即 master 指向的目錄樹就是提交時暫存區的目錄樹。

把檔案往git版本庫里新增的時候,是分兩步執行的:

第一步:git add把檔案新增到了暫存區;

第二步:git commit -m ""把暫存區的所有內容提交到當前分支master中。

當執行git checkout或者git checkout --命令時,會用暫存區全部或指定的檔案替換工作區的檔案。這個操作很危險,會清除工作區中未新增到暫存區的改動。

當執行git checkout head或者git checkout head命令時,會用head指向的master分支中的全部或者部分檔案替換暫存區和以及工作區中的檔案。這個命令也是極具危險性的,因為不但會清除工作區中未提交的改動,也會清除暫存區中未提交的改動。

Git學習筆記(二)

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

Git學習筆記(二)

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

Git學習筆記 二

小白一枚。學習筆記。僅供參考。歡迎指錯。二 基本的git概念 git版本庫不僅儲存庫中所有檔案的完整副本,而且儲存版本庫本身的副本。git維護的兩個主要的資料結構 物件庫 object store 索引 index 索引 臨時的 動態的二進位制檔案,它描述的是版本庫的目錄結構。更準確地說,索引捕獲專...