git版本控制

2022-08-20 19:54:14 字數 1900 閱讀 5676

git 理論部分:

是乙個開源的分布式版本管理系統,可以有效的對軟體系統版本進行管理,

無論哪種儲存系統大體分為三種形式:

local : 本地 單機儲存

集中式: 有中心節點, 集中式管理

分布式:分布式在每個節點上都有完整資料

集中式管理與分布式管理區別:

cvs及svn都是集中式的版本控制系統,而git是分布式版本控制系統,集中式和分布式版本控制系統有什麼區別呢?

集中式版本,版本庫都存放在**伺服器上,客戶端需要先分別從**伺服器上獲取內容,在進行修改後在將自己修改的的版本推送給**伺服器

缺點:集中式版本控制系統最大的毛病就是必須聯網才能工作,如果在區域網內還好,頻寬夠大,速度夠快,可如果在網際網路上,遇到網速慢的話,可能提交乙個10m~20m的檔案就需要10分鐘甚至更多時間,這還不得把人給急死啊。

那分布式版本控制系統與集中式版本控制系統有何不同呢?首先,分布式版本控制系統沒有「**伺服器」,每個人的電腦上都是乙個完整的版本庫,這樣,你工作的時候,就不需要聯網了,因為版本庫就在你自己的電腦上。既然每個人電腦上都有乙個完整的版本庫,那多個人如何協作呢?比方說你在自己電腦上改了檔案fiel,你的同事也在他的電腦上改了檔案file,這時,你們倆之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。

和集中式版本控制系統相比,分布式版本控制系統的安全性要高很多,因為每個人電腦裡都有完整的版本庫,某乙個人的電腦壞掉了不要緊,隨便從其他人那裡複製乙個就可以了。而集中式版本控制系統的**伺服器要是出了問題,所有人都沒法幹活了。

在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。如上圖!

git的功能特性

從一般開發者的角度來看,git有以下功能:

1、 從伺服器上轉殖完整的git倉庫(包括**和版本資訊)到單機上。

2、  在自己的機器上根據不同的開發目的,建立分支,修改**

3、  在單機上自己建立的分支上提交**

4、  在單機上合併分支

5、  把伺服器上最新版的**fetch下來,然後跟自己的主分支合併

6、  再把合併後的版本推到伺服器上,

原理:1)四種基本型別

blob:  每個blob代表乙個(版本的)檔案,blob只包含檔案的資料,而忽略檔案的其他元資料,如名字、路徑、格式等。

tree:  每個tree代表了乙個目錄的資訊,包含了此目錄下的blobs,子目錄(對應於子trees),檔名、路徑等元資料。因此,對於有子目錄的目錄,git相當於儲存了巢狀的trees。

commit:每個commit記錄了提交乙個更新的所有元資料,如指向的tree,父commit,作者、提交者、提交日期、提交日誌等。每次提交都指向乙個tree物件,記錄了當次提交時的目錄資訊。乙個commit可以有多個(至少乙個)父commits。

tag:   ag用於給某個上述型別的物件指配乙個便於開發者記憶的名字, 通常用於某次commit。

git 的基本應用

1

安裝git

# yum install git -y

git版本控制

1.git 是乙個開源的分布式版本控制系統,可以有效 高速的處理從很小到非常大的專案版本 管理。2.git配置管理 一般,有乙個 集中庫,包含4個分支 qa才能merge production 發布生產,出現生產問題,轉hotfix 研發經理 hotfix 解決緊急生產問題,測試後轉producti...

版本控制 Git

git 是目前世界上最先進的開源的分布式版本控制系統 沒有之一 用於敏捷高效地處理任何或小或大的專案。git 是 linus torvalds 為了幫助管理 linux核心開發而開發的乙個開放原始碼的版本控制軟體。git 與常用的版本控制工具 cvs,subversion 等不同,它採用了分布式版本...

GIT版本控制

不同情況下,實現版本回退 1.對於修改內容後,未add,未commit 可以利用git checkout 檔名 2.對於修改內容後,add,未commit get reset head 檔名 git checkout 檔名 3.對於修改內容後,add,commit 可以回到任何乙個版本 root g...