1. 程式人生 > >基於 Git實現版本控制

基於 Git實現版本控制

一,什麼是版本控制?

版本控制是指對軟體開發過程中各種程式程式碼、配置檔案及說明文件等檔案變更的管理,是軟體配置管理的核心思想之一。

在進行專案開發過程中,你是否會有下面的經歷?

在這裡插入圖片描述

當客戶需求改變時,需要重新對專案進行修改。又怕將來客戶撤銷這個需求怎麼辦?只能把原來沒修改的和已經修改的專案都儲存下來。隨著客戶需求的變更,你需要備份多個專案。最後你的專案就變成了上面的那樣。看著一堆亂七八糟的專案,想保留最新的一個,然後把其他的刪掉,又怕哪天會用上,還不敢刪,真鬱悶。

如果有一個版本控制工具,來幫助我們記錄每一次專案的變更,像下面這樣,豈不是很方便?

在這裡插入圖片描述 這就有必要來學習一下Git版本控制工具,它就像上面那樣,很好地幫助我們解決了手動管理多個專案“版本”問題。

二,Git版本控制工具的簡單使用

1.什麼是Git?

1.1 Git是一個免費的開源 分散式版本控制系統,旨在快速,高效地處理從小型到大型專案的所有事務。

1.2 2008年Github上線,為開源專案免費提供Git儲存。

2.Git下載安裝

在這裡插入圖片描述

根據自己電腦的系統選擇對應的版本,我選擇的是windows版本。

在這裡插入圖片描述

根據作業系統選擇Git的版本,我選擇的是64位的Git版本,點選下載。

在這裡插入圖片描述 找到下載Git應用程式,雙擊進行安裝。

在這裡插入圖片描述

在這裡插入圖片描述

在cmd視窗中,使用git --version命令檢視Git是否安裝成功

在這裡插入圖片描述

3.下載安裝 TortoiseGit

使用TortoiseGit,Git客戶端圖形化工具目的:為了代替在cmd視窗中,使用Git命令對Git服務端進行的一些操作。

在這裡插入圖片描述

注意: 下載的版本與自己電腦作業系統型別一致。

在這裡插入圖片描述

安裝,一直點選下一步即可。

在這裡插入圖片描述

滑鼠右鍵,看到這樣的介面,說明安裝成功。

漢化配置

在桌面滑鼠右鍵---->TortoiseGit—>settings

在這裡插入圖片描述

在這裡插入圖片描述

配置完成,在桌面滑鼠右鍵

在這裡插入圖片描述

可以看到,已經漢化成功(樓主比較喜歡英文,下面演示還採用沒有漢化的)

4.建立模擬的中央倉庫

中央倉庫一般放在單獨的伺服器上,由於沒有單獨的伺服器,就模擬在本機上建立一箇中央倉庫。

在D:\Temp\repository(任何一個目錄都可以)目錄下,滑鼠右鍵—>Git Createrepository here…

在這裡插入圖片描述

此時,會出現下面的彈框

在這裡插入圖片描述 不進行勾選,點選ok,生成**隱藏型別

**的.git資料夾

在這裡插入圖片描述

5.建立模擬使用者目錄,git clone 克隆中央倉庫

在D:\Temp目錄下,新建user1和user2兩個使用者

在這裡插入圖片描述

在user1目錄下克隆中央倉庫

在這裡插入圖片描述

選擇中央倉庫的位置,點選ok,就把中央倉庫克隆到了user1目錄下

在這裡插入圖片描述

在這裡插入圖片描述

6.建立一個檔案,commit到本地倉庫,推送到push中央倉庫

在D:\Temp\user1\repository目錄下新建一個demo.txt測試檔案

在這裡插入圖片描述

選中檔案,右鍵—>tortoiseGit—>add,把檔案新增到版本控制

在這裡插入圖片描述

commit 提交檔案修改到本地倉庫

在這裡插入圖片描述

錯誤:第一次提交前,需要設定使用者名稱和郵箱(為了鎖定哪個使用者對檔案作出了修改,並推送到了中央倉庫)

在這裡插入圖片描述

在這裡插入圖片描述

再一次進行commit,提交到本地倉庫

在這裡插入圖片描述

提交完成後,可以直接點選push,推送到中央倉庫

在這裡插入圖片描述

也可以close關閉,先不push,然後滑鼠右鍵—>TortoiseGit—>push,也可以推送到中央倉庫

在這裡插入圖片描述

在這裡插入圖片描述

master 是倉庫主線代號, origin 是遠端倉庫代號

在第一次push時,會報一個錯誤: 需要遠端倉庫設定引數

解決方法:需要在原始倉庫(中央) 執行 git config receive.denyCurrentBranch ignore

在cmd視窗下,進行中央倉庫的目錄,執行上面的命令

在這裡插入圖片描述

在D:\Temp\user1\repository下,再次進行push,即可把修改內容成功推送到中央倉庫。

在 user2 目錄裡面 執行 git clone ! 檢視到 user1 修改 !

在這裡插入圖片描述

7.解決衝突

user1修改檔案

在這裡插入圖片描述

同時,在user1沒有push到中央倉庫的時候,user2也對檔案作出了修改

在這裡插入圖片描述

user1把修改後的內容push到中央倉庫,

注意:push修改的內容到中央倉庫時,應該先pull,再push,可以防止在push的過程中,中央倉庫中的內容發生了變化

在這裡插入圖片描述

user2採取同樣的方式,先pull,後push修改內容到中央倉庫。問題產生了,錯誤描述:必須先把修改的內容commit 到本地倉庫,才能 pull。

在這裡插入圖片描述

衝突產生:

在這裡插入圖片描述

解決方法一:直接在檔案中,把認為正確的部分儲存下來,刪除其餘部分儲存—>右鍵—> Resolved

解決方法二:選中檔案—>右鍵—>edit conficts,解決後點擊編輯頁面的 mark as resolved

在解決完衝突以後,就可以提交修改內容到本地倉庫,push推送到中央倉庫。在user1 目錄裡面 執行 pull! 檢視到 user2 修改的內容 !

三,將程式碼放到線上倉庫進行版本控制

在這裡插入圖片描述

1、 使用者註冊 2、 使用者登入 ,建立一個新的專案 ,新增開發者

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

建立完成後,點選"克隆/下載"按鈕,可以複製線上倉庫的訪問地址

在這裡插入圖片描述

將其它開發者加入到專案中

點選"貢獻者"—>點選"管理"—>點選"專案成員管理"—>點選“所有”—>點選"新增專案成員"

在這裡插入圖片描述

3.將原生代碼 通過線上倉庫 進行版本控制

3.1 複製線上倉庫的訪問地址,在本地電腦克隆線上倉庫

在這裡插入圖片描述

在這裡插入圖片描述

注意:因為在碼雲上建立的這個專案是私有的,所以第一次在本地進行克隆時,需要輸入碼雲帳號和密碼進行驗證!

3.2 複製一個專案到本地倉庫,並push到碼雲線上倉庫上

在這裡插入圖片描述

執行commit命令把修改內容提交到本地倉庫,push命令推送到線上倉庫進行版本控制!

在這裡插入圖片描述