git倉庫的組成

2021-06-15 04:06:00 字數 1053 閱讀 6800

git倉庫就是**倉庫的意思,不一定就存**,就存放**或者檔案的地方。

英文單詞是repository.

git由什麼物件組成的?

git系統由三種物件組成,分別是

(1)提交(commit)

(2)樹(tree)

(3)原文(blob)

根據三者之間的關係進行各個概念的講解。

先看一張圖

git的每一次提交是乙個commit物件,這個物件中又包括這幾個內容:

author:檔案的建立者,第一次是放在倉庫的

commiter:就是這次是誰提交的

comment:這次提交的注釋

tree物件記錄了這次提交的記錄,每乙個檔案代表乙個blob,指向乙個檔案位址。

tree裡面還可以包括tree物件,就像目錄似的還有子目錄。

上面這就是一次提交的commit操作的結果。是不是關係也搞懂了,概念也搞懂了。

每次提交git都會生成乙個快照(snapshot),每提交一次生成乙個快照,這次的快照是上次的快照基礎上生成的。

請看下圖

一共提交了三次,生成了三次快照,這次快照將會完整的儲存下來。每次快照都是在上一次快照的基礎上生成的,第一次入倉庫時也會提供乙個快照。

這些生成的乙個鏈條,就可以理解為乙個分支。分支將會再下個部落格中講解。

git倉庫存放在哪呢?就是在當前工作目錄的.git資料夾下。

.git/objects  存放所有的物件

.git/heads   存放的所有分支,這裡僅僅是乙個引用,每個引用引用的都是該分支最後一次提交的記錄。

.git/refs/tags  所有的tag,方便以後檢視的標籤

.git/logs/head  head的歷史變化

.git/refs/heads  除了master分支之外的其他分支head的變化歷史

git倉庫的使用

git 與 svn 區別點 1 git 是分布式的,svn 不是 這是 git 和其它非分布式的版本控制系統,例如 svn,cvs 等,最核心的區別。2 git 把內容按元資料方式儲存,而 svn 是按檔案 所有的資源控制系統都是把檔案的元資訊隱藏在乙個類似 svn cvs 等的資料夾裡。3 git...

GIT倉庫恢復

通過使用git版本恢復命令reset,可以回退版本。reset命令有3種方式 git reset mixed 此為預設方式,不帶任何引數的git reset,即時這種方式,它回退到某個版本,只保留原始碼,回退commit和index資訊 git reset soft 回退到某個版本,只回退了comm...

git更新倉庫

第一次clone檔案,新增新專案 1.clone新專案 git clone ssh xx xx.git 2.新增要新增的檔案 git add php 資料夾就直接寫 3.提交說明 git commit add 說明的文字 4.提交 git push origin master 提交 0.git st...