GIT 精講 從零玩轉Git 基礎理論

2022-09-16 19:36:11 字數 2957 閱讀 6575

版本控制(version control systems)版本控制(revision control)是一種軟體工程技巧

在開發的過程中,確保由不同人所編輯的同一檔案都得到更新

舉例我們通常都是手動的重新命名乙個檔案進行備份的

hello.j**a改成hello1.j**a或者hello.j**a.bak等形式

然後這種方式對於單個檔案我們還能夠管理,但是對於整個專案而言,就會成為噩夢了!!!

檔案版本常見問題

合併**

兩個人寫的**如何合併到一起

版本回退

在寫**過程當中, **出現錯誤,如如何才能加回到以前沒有錯誤的**

特點

集中式版本

控制系統,版本庫是集中存放在**伺服器的

而幹活的時候,用的都是自己的電腦

所以要先從**伺服器取得最新的版本,然後開始幹活,幹完活了,再把自己的活推送給**伺服器

**伺服器就好比是乙個圖書館

你要改一本書,必須先從圖書館借出來,然後回到家自己改,改完了,再放回圖書館

結構圖

缺點

集中式版本控制系統最大的毛病就是必須聯網才能工作

所有的版本都在乙個伺服器上面

如果服務掛了, 所有記錄的版本都沒了

特點

​ 分布式版本控制系統,則不需要**伺服器

​ 每個協同開發者都擁有乙個完整的版本庫

​ 這麼一來,任何協同開發者用的伺服器發生故障

​ 事後都可以用其它協同開發者本地倉庫恢復

結構圖

使用方式

在實際使用分布式版本控制系統的時候,其實很少在兩人之間的電腦上推送版本庫的修改,

因為可能你們倆不在乙個區域網內,兩台電腦互相訪問不了,也可能今天你的同事病了,他的電腦壓根沒有開機。

因此,分布式版本控制系統通常也有一台充當「**伺服器」的電腦,

但這個伺服器的作用僅僅是用來方便「交換」大家的修改,沒有它大家也一樣幹活,只是交換修改不方便而已。

​ git是一款開源的分布式版本管理工具,作者linux之父-linus​ 當初linus 僅僅是為了輔助linux核心的開發才一併開發了這個至今為止世界上最快的、最簡單的版本管理工具

git 的工作目錄

暫存區域

以及本地倉庫

1.已修改(modified)

已修改表示修改了某個檔案,但還沒有提交儲存

2.已暫存(staged)

已暫存表示把已修改的檔案放在下次提交時要儲存的清單中

3.已提交(committed)

已提交表示該檔案已經被安全地儲存在本地資料庫中了

1. 工作目錄

從專案中取出某個版本的所有檔案和目錄,用以開始後續工作的叫做工作目錄

這些檔案實際上都是從 git 目錄中的壓縮物件資料庫中提取出來的

接下來就可以在工作目錄中對這些檔案進行編輯

2. 暫存區域

只不過是個簡單的檔案

.git目錄之下,名為index,它一般很小,一般不超過1kb左右

一般都放在 git 目錄中

有時候人們會把這個檔案叫做索引檔案

暫存區這個索引檔案裡面包含的是檔案的目錄樹,像乙個虛擬的工作區,在這個虛擬工作區的目錄樹中,記錄了檔名、檔案的時間戳、檔案長度、檔案型別以及最重要的sha-1值,檔案的內容並沒有儲存在其中

暫存區的作用

除非是繞過暫存區直接提交,否則git想把修改提交上去,就必須將修改存入暫存區最後才能commit。每次提交的是暫存區所對應的檔案快照

3. git目錄(本地倉庫)

當我們在某個目錄下執行git init命令後,在該目錄下便會生成乙個.git的子目錄,這個目錄是隱藏的。

它是 git 用來儲存元資料和物件資料庫的地方,這個目錄可以說是git的核心

每次轉殖映象倉庫時,實際上拷貝的這個目錄裡的內容而已

1、在工作目錄中修改檔案。

2、暫存檔案,將檔案的快照放入暫存區域。

3、提交更新,找到暫存區域的檔案,將快照永久性儲存到git倉庫目錄。

#### git add ---> git commit --- > git push/git pull

git從零到一

源 有必要管理起嗎?1.02.0 svn,vss,vcs git 有必要,因為人工的去處理不同的版本,做相應備份會很麻煩。git是linux之父當年為了維護linux linus之前也是手動維護合併把檔案發給linus linus自己寫了乙個版本管理的工具 git 開啟冰箱門 放大象關上冰箱 2.把...

精講git常用命令大全

從遠端倉庫拉取 到本地 git clone git clone 轉殖乙個倉庫到本地 寫完乙個模組的 需要提交到遠端倉庫 git pull 指定的遠端倉庫拉取 git status 檢視檔案狀態 通常我們可以看到新新增的檔案和修改過的檔案 git add all 新增 到本地暫存區 git commi...

git使用從零到一

1 pwd 列印當前資料夾的全名稱 2 ls a 預設 列印當前資料夾下面的內容,不會輸入.開頭的檔案 資料夾 b ls a 在上面的基礎上 開頭的檔案 資料夾 c ls l 在列舉檔案的時候會列舉出他們的諸如 建立者 建立日期等資訊 d ls 指定資料夾路徑 列舉出該資料夾下面的內容 3 cd 切...