Git使用(GitEE)
Git分散式版本控制工具
1. Git概述
1.1 Git歷史
Git 誕生於一個極富紛爭大舉創新的年代。Linux 核心開源專案有著為數眾多的參與者。 絕大多數的 Linux 核心維護工作都花在了提交補丁和儲存歸檔的繁瑣事務上(1991-2002年間)。 到 2002 年,整個專案組開始啟用一個專有的分散式版本控制系統 BitKeeper 來管理和維護程式碼。
到了 2005 年,開發 BitKeeper 的商業公司同 Linux 核心開源社群的合作關係結束,他們收回了 Linux 核心社群免費使用 BitKeeper 的權力。 這就迫使 Linux 開源社群(特別是 Linux 的締造者 Linus Torvalds)基於使用 BitKeeper 時的經驗教訓,開發出自己的版本系統。
他們對新的系統制訂了若干目標:
速度
簡單的設計
對非線性開發模式的強力支援(允許成千上萬個並行開發的分支)
完全分散式
有能力高效管理類似 Linux 核心一樣的超大規模專案(速度和資料量)
1.2 Git與SVN對比
SVN是集中式版本控制系統,版本庫是集中放在中央伺服器的,而開發人員工作的時候,用的都是自己的電腦,所以首先要從中央伺服器下載最新的版本,然後開發,開發完後,需要把自己開發的程式碼提交到中央伺服器。
集中式版本控制工具缺點:
伺服器單點故障
容錯性差
Git是分散式版本控制系統(Distributed Version Control System,簡稱 DVCS) ,分為兩種型別的倉庫:
本地倉庫和遠端倉庫
本地倉庫:是在開發人員自己電腦上的Git倉庫
遠端倉庫:是在遠端伺服器上的Git倉庫
Clone:克隆,就是將遠端倉庫複製到本地
Push:推送,就是將本地倉庫程式碼上傳到遠端倉庫
Pull:拉取,就是將遠端倉庫程式碼下載到本地倉庫
1.3 Git工作流程
GIT 中的一些概念
工作區(Workspace):是電腦中實際的目錄。
暫存區(staging): 類似於快取區域,臨時儲存你的改動。
倉庫(Repository): 本地倉庫(Local Repository): 在當前計算機上儲存專案檔案資訊.
遠端倉庫(Remote Repository): 在遠端伺服器上儲存專案檔案資訊.
工作流程如下:
1.從遠端倉庫中克隆程式碼到本地倉庫
2.從本地倉庫中checkout程式碼然後進行程式碼修改
3.在提交前先將程式碼提交到暫存區
4.提交到本地倉庫。本地倉庫中儲存修改的各個歷史版本
5.修改完成後,需要和團隊成員共享程式碼時,將程式碼push到遠端倉庫
1.4 Git下載與安裝
下載地址: https://git-scm.com/download
下載完成後可以得到如下安裝檔案:
雙擊執行
安裝成功後,在任何目錄下,右鍵有以下選單說明安裝成功:
- Git程式碼託管服務
2.1 常用的Git程式碼託管服務
前面我們已經知道了Git中存在兩種型別的倉庫,即本地倉庫和遠端倉庫。那麼我們如何搭建Git遠端倉庫呢?我們可以藉助網際網路上提供的一些程式碼託管服務來實現,其中比較常用的有GitHub、碼雲、GitLab等。
gitHub( 地址:https://github.com/ )是一個面向開源及私有軟體專案的託管平臺,因為只支援Git 作為唯一的版本庫格式進行託管,故名gitHub
碼雲(地址: https://gitee.com/ )是國內的一個程式碼託管平臺,由於伺服器在國內,所以相比於GitHub,碼雲速度會更快
GitLab (地址: https://about.gitlab.com/ )是一個用於倉庫管理系統的開源專案,使用Git作為程式碼管理工具,並在此基礎上搭建起來的web服務
2.2 在碼雲註冊賬號
要想使用碼雲的相關服務,需要註冊賬號(地址: https://gitee.com/signup )
2.3 登入碼雲並建立Git遠端倉庫
註冊完成後就可以使用剛剛註冊的郵箱進行登入(地址: https://gitee.com/login )
登入成功後就可以建立Git遠端倉庫
建立完成後可以檢視倉庫資訊
每個Git遠端倉庫都會對應一個網路地址,可以點選克隆/下載按鈕彈出視窗並點選複製按鈕獲得這個網路地址
我們當前建立的Git遠端倉庫對應的地址為:https://gitee.com/Ybbit/mall-project.git
2.4 邀請其他使用者成為倉庫成員
前面已經在碼雲上建立了自己的遠端倉庫,目前倉庫成員只有自己一個人(身份為管理員)。在企業實際開發中,一個專案往往是由多個人共同開發完成的,為了使多個參與者都有許可權操作遠端倉庫,就需要邀請其他專案參與者成為當前倉庫的成員。
- Git常用命令
3.1 環境配置
當安裝Git後首先要做的事情是設定使用者名稱稱和email地址。這是非常重要的,因為每次Git提交都會使用該使用者資訊
設定使用者資訊
git config --global user.name "qbbit"
git config --global user.email "[email protected]"
檢視配置資訊
git config --list
git config user.name
通過上面的命令設定的資訊會儲存在~/.gitconfig檔案中
3.2 獲取Git倉庫
要使用Git對我們的程式碼進行版本控制,首先需要獲得Git倉庫
獲取Git倉庫通常有兩種方式:
在本地初始化一個Git倉庫
從遠端倉庫克隆
3.2.1在本地初始化一個Git倉庫
執行步驟如下:
- 在電腦的任意位置建立一個空目錄(例如repo1)作為我們的本地Git倉庫
- 進入這個目錄中,點選右鍵開啟Git bash視窗
- 執行命令git init
如果在當前目錄中看到.git資料夾(此資料夾為隱藏資料夾)則說明Git倉庫建立成功
3.2.2從遠端倉庫克隆
可以通過Git提供的命令從遠端倉庫進行克隆,將遠端倉庫克隆到本地
命令形式為:git clone 遠端Git倉庫地址
3.3工作目錄、暫存區以及版本庫概念
為了更好的學習Git,我們需要了解Git相關的一些概念,這些概念在後面的學習中會經常提到
版本庫:前面看到的.git隱藏資料夾就是版本庫,版本庫中儲存了很多配置資訊、日誌資訊和檔案版本資訊等
工作目錄(工作區):包含.git資料夾的目錄就是工作目錄,主要用於存放開發的程式碼
暫存區:.git資料夾中有很多檔案,其中有一個index檔案就是暫存區,也可以叫做stage。暫存區是一個臨時儲存修改檔案的地方
3.4 Git工作目錄下檔案的兩種狀態
Git工作目錄下的檔案存在兩種狀態:
untracked 未跟蹤(未被納入版本控制)
tracked 已跟蹤(被納入版本控制)
Unmodified 未修改狀態
Modified 已修改狀態
Staged 已暫存狀態
這些檔案的狀態會隨著我們執行Git的命令發生變化