1. 程式人生 > 其它 >Git使用(GitEE)

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

下載完成後可以得到如下安裝檔案:

雙擊執行

安裝成功後,在任何目錄下,右鍵有以下選單說明安裝成功:

  1. 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 邀請其他使用者成為倉庫成員

前面已經在碼雲上建立了自己的遠端倉庫,目前倉庫成員只有自己一個人(身份為管理員)。在企業實際開發中,一個專案往往是由多個人共同開發完成的,為了使多個參與者都有許可權操作遠端倉庫,就需要邀請其他專案參與者成為當前倉庫的成員。

  1. 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倉庫

執行步驟如下:

  1. 在電腦的任意位置建立一個空目錄(例如repo1)作為我們的本地Git倉庫
  2. 進入這個目錄中,點選右鍵開啟Git bash視窗
  3. 執行命令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的命令發生變化