認識Git並瞭解Git的基本知識

認識Git

版本控制

版本控制是一種記錄文件內容變化,方便以後查閱特定版本修改情況的系統
在這裏插入圖片描述

版本控制的發展史

1:本地版本控制系統
主要是採用簡單的數據庫來記錄文件歷次更新的差異
在這裏插入圖片描述
在硬盤上保存文件修訂前後的變化
那麼,上面這種控制系統,只能在本地使用,怎麼能讓不同的開發者協同工作呢?
2:集中化的版本控制系統
在這裏插入圖片描述
上面圖示,有一個單一的集中管理的服務器,保存了所有文件的修訂版本;而需要協同工作的人員通過客戶端連接到服務器,可以取出最新的文件或者提交更新等
在這裏插入圖片描述
上面的控制系統有什麼優點和缺點呢?
優點
1:可以清楚的看到項目中其他人員在做什麼
2:可以掌控每一個開發者的權限
3:管理一個CVCS比在客戶端上面維護本地的數據庫要容易

缺點
1:中央服務器的單點故障,一旦服務器出現問題,那麼客戶端就不能再進行更新提交操作了
2:數據存儲在磁盤上,磁盤發生損壞,就可能丟失所有數據
3:分佈式版本控制系統
在這裏插入圖片描述
客戶端的每次克隆操作,都是對代碼倉庫的完整備份,不只是提取最新版本的文件快照,任何一處協同工作用的服務器發生故障,事後都可以用任何一個鏡像的本地倉庫恢復
優點:
1:可以指定和若干個不同的遠端代碼倉庫進行交互
2:可以在同一個項目中,分別和不同小組的人進行協作
3:可以根據需要設置不同的協作流程

Git的設計目標:
1:速度
2:簡單的設計
3:對非線性開發模式的支持:需要上萬個並行開發分支
4:完全的分佈式
5:能夠高效管理超大規模的項目

安裝Git

Git的安裝比較簡單,可以到官網進行下載安裝包,官網地址:Git下載,或者到我這裏面的地址進行下載:鏈接:https://share.weiyun.com/MUODHd1a 密碼:kqr43s
在這裏插入圖片描述
在這裏插入圖片描述
Git的使用方式有下面兩種,具體的使用方式可自行百度查閱
在這裏插入圖片描述

Git的核心概念

Git的使用原理

1:直接記錄快照,而不是文件的差異比較
CVS、SVN等大部分系統是用文件變更列表的方式來存儲信息,將保存的信息看做是一組基本文件和每個文件隨時間變化而累積的差異
在這裏插入圖片描述
上圖是一個簡單的例子:存儲的是每個文件與初始的版本差異;比如File 1,有兩個更新後的版本,在數據庫中記錄的是與Version 1的差異

Git把數據看做是對小型文件系統的一組快照:
1:當文件發生變化的時候,會對全部文件製作一個快照並且保存這個快照的索引
2:當文件沒有變化時,會保留一個鏈接指向之前存儲的文件
在這裏插入圖片描述
2:幾乎所有操作都是本地執行
由於是做了快照,所以大部分操作都只需要訪問本地文件和資源
在本地的磁盤上就有項目的完成歷史,操作比較快,而且瀏覽項目的歷史更新記錄,不需要連接到服務器去獲取歷史
在沒有網絡的情況下,也可以進行提交,有網絡再進行上傳

3:保證完整性
Git中所有數據在存儲前都會計算檢驗和(校驗和百度百科),然後以校驗和來引用,不可能在Git不知道的情況下更改任何文件內容和目錄內容,Git使用的是SHA-1散列方式計算校驗和
Git 數據庫中保存的信息都是以文件內容的哈希值來索引
4:一般只添加數據
Git操作幾乎只向Git數據庫中增加數據,很難執行不可逆操作
沒有提交的數據有可能丟失或者弄亂修改的內容,比如常見的文件衝突
但是一旦提交快照到Git中,就很難再丟失了,如果還把數據推送到其他倉庫中,那數據就更加安全了
5:Git的三種狀態
一:已提交(committed):數據已經安全的保存在本地數據庫中了
二:已修改(modified):修改了文件,但是還沒有保存到數據庫
三:已暫存(staged):對一個已經修改的文件的當前版本做了標記,使它會包含在下次提交的快照中

Git的工作流程

1:Git項目的三個工作區域
Git倉庫:保存項目的元數據和對象數據庫的地方,遠程克隆倉庫就是指這裏的數據

工作目錄:對項目的某一個版本從倉庫中獨立提取出來的內容,放在磁盤中供我們使用和修改

暫存區域:暫存區域是一個文件,保存了下一次將要提交的文件列表信息,一般是在Git的倉庫中
在這裏插入圖片描述

Git的基本流程

1:在工作目錄中修改文件
2:暫存文件,將文件的快照放入暫存區域
3:提交更新,找到暫存區域中的文件,將快照永久的存儲到Git的倉庫目錄

Git與SVN的區別

功能 Git SVN
分佈式 ×
數據存儲方式 按照元數據方式存儲 按照文件
分支 一個指針標記 另外的一個目錄
全局版本號 代碼快照,SHA-1來唯一的標識 任何一個相應時間的源代碼快照
內容完整性 使用SHA-1校驗和,確保代碼內容的完整性
網絡依賴 無需聯網,本地就可以操作 需要聯網纔可以提交查看整個版本的控制信息

Git的基本使用

Git的客戶端有下面這些:命令行客戶端、GUI客戶端、TortoiseGit、IDE插件
下面以命令行客戶端爲例,簡單瞭解下Git的基本使用

初始化Git

通過git config工具,可以定製自己的Git環境,每一臺計算機都只需要配置一次即可,配置有三個維度:用戶、全局、系統
1:用戶信息
git config --global user.name “mike”

git config --global user.email [email protected]

git config --global --unset user.name

2:文本編輯器
git config --global core.editor emacs

3:檢查配置信息
git config --list
在這裏插入圖片描述

創建一個Git倉庫

1:通過命令git init創建全新的Git倉庫
在這裏插入圖片描述
2:克隆現有的倉庫
Git克隆的是Git倉庫服務器上的幾乎所有的數據,而不僅僅是複製完成我們工作所需要的文件

Git的功能

1:提交更新
工作目錄下的每個文件有兩種狀態:已跟蹤和未跟蹤
現在在剛剛創建的倉庫下建一個txt文件:
可以想到,新建的一個文件是未跟蹤狀態:
在這裏插入圖片描述
通過git status可以查看工作目錄的狀態
在這裏插入圖片描述
使用git add命令操作已跟蹤,把文件放入暫存區:
在這裏插入圖片描述
可以看到,文件發生了變化,有了一個圖標
在這裏插入圖片描述
在這裏插入圖片描述
git commit建立快照把文件放入存儲區:
在這裏插入圖片描述在這裏插入圖片描述
現在文件是已經提交上去了,然後修改文件,把文件變成已修改狀態:
在這裏插入圖片描述在這裏插入圖片描述
下面圖示整個過程:
在這裏插入圖片描述
2:查詢提交歷史
git log查看所有的commit記錄
git show查看提交的詳情
在這裏插入圖片描述
3:撤銷更新
git checkout – filename來撤銷修改
在這裏插入圖片描述
4:打標籤
git tag tagName可以新建標籤
git tag命令可以列出所有的標籤
在這裏插入圖片描述
這裏只列出了一些簡單的操作和使用,還有其他的一些使用,可以到Git官網或者百度查詢瞭解,官網地址:Git官網

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章