全棧開發者Git使用指南

1、Git基礎

在這裏插入圖片描述

一、Git簡介

Git是一種分佈式版本控制系統,由Linux之父Linus開發。git

所謂分佈式版本管理系統,就是在每一臺機器上都有一個完整的倉庫。數據庫

image-20201229212250725

二、Git官網

Git官網:gitbash

image-20201229212543426

在官網上能夠獲取Git的安裝軟件。分佈式

除此以外,還能夠下載《progit》——這是最棒的Git學習資料,並且有中文版本。ide

三、Git安裝

https://git-scm.com/downloads官方下載地址下載對應的操做系統版本一步步安裝便可。學習

在這裏插入圖片描述

四、Git基本配置

安裝完成以後,在任意目錄下,右鍵 Git Bash Here操作系統

在這裏插入圖片描述

全局配置郵箱和用戶名(–global表示全局配置,也能夠不配置,每一個倉庫單獨配置).net

$ git config --global user.name "test"
$ git config --global user.email test@qq.com

五、Git基本概念

5.一、Git工做區域

Git有四個工做區域:版本控制

  • 工做區code

    簡單說工做區就是咱們項目的目錄。

    image-20201229220303023

  • 倉庫區/本地倉庫

    工做區有一個.git目錄,其實這個不是工做區,是Git的版本庫,存儲了Git倉庫的全部版本信息

    image-20201229220345268

    在這裏插入圖片描述

  • 暫存區

    暫存區域是一個文件,保存了下次將提交的文件列表信息,通常在 Git 倉庫目錄中。 有時候也被稱做「索引」,

    不過通常說法仍是叫暫存區域。

  • 遠程倉庫

    對於分佈式版本管理系統,遠程倉庫不是必須存在的,可是一般項目都會有遠程倉庫。例如Github就是咱們很是熟悉的遠程倉庫。

    image-20201229221144078

    基本的Git工做流程以下:

    • 在工做目錄修改文件
    • 暫存文件,將文件快照放入暫存區
    • 提交更新,找到暫存區的文件,將快照永久性存儲到到 Git 倉庫區(本地)
    • 將本地倉庫的變動推送到遠程倉庫

以上幾個區域的關係能夠用下圖表示:

img

5.二、Git分支

分支是爲了將修改記錄的整個流程分開存儲,讓分開的分支不受其它分支的影響,因此在同一個數據庫裏能夠同時進行多個不一樣的修改。

在這裏插入圖片描述

Git 爲咱們自動建立的第一個分支,也叫主分支,通常其它分支開發完成後都要合併到 master

在這裏插入圖片描述

5.三、Git文件狀態

在git中,文件主要有四種狀態:

Life Cycle

  • Untracked: 未跟蹤, 此文件在文件夾中, 但並無加入到git庫, 不參與版本控制. 經過git add 狀態變爲Staged.

  • Unmodify(Committed): 文件已經入庫, 未修改, 即版本庫中的文件快照內容與文件夾中徹底一致. 這種類型的文件有兩種去處, 若是它被修改, 而變爲Modified. 若是使用git rm移出版本庫, 則成爲Untracked文件

  • Modified: 文件已修改, 僅僅是修改, 並無進行其餘的操做. 這個文件也有兩個去處, 經過git add可進入暫存staged狀態, 使用git checkout 則丟棄修改過, 返回到unmodify狀態, 這個git checkout即從庫中取出文件, 覆蓋當前修改

  • Staged: 暫存狀態. 執行git commit則將修改同步到庫中, 這時庫中的文件和本地文件又變爲一致, 文件爲Unmodify狀態. 執行git reset HEAD filename取消暫存, 文件狀態爲Modified

2、Git應用實踐

看完上面的Git基礎,你可能有一些迷惑,接下來,咱們以實際工做中開發的流程來加深對Git的理解吧。

一、克隆項目

能夠經過在工做區使用git init來初始化一個Git倉庫,但一般開發中咱們不會這樣作,由於實際的項目大部分已經進行了部分開發,並進行了版本管理,因此咱們首先作的是從遠程倉庫克隆項目。

這裏我從Gitee(通常開發項目的遠程倉庫是部署在內網的GitLab) fork了一個開源項目,將這個項目做爲遠程倉庫的項目:

image-20201229214855118

點擊克隆下載,能夠看到項目的路徑,

  • HTTPS是憑據式的路徑,使用此路徑,向遠程倉庫推送代碼的時候須要憑據(帳號密碼);

    這種方式向遠程倉庫提交,會要求帳號密碼,輸入完成以後,Win10操做系統能夠選擇記住憑據,這樣就不用每一次都輸入了,Win10操做系統管理憑據 控制面板 → 用戶賬戶 → 憑據管理器 → Windows憑據

    image-20201230174621550

  • SSH是祕鑰式的路徑,向遠程倉庫推送代碼的時候,須要本地的私鑰和遠程倉庫的公鑰對應。

    SSH配置能夠參考 Windows配置Github、Gitee共存的Git環境,這裏就不詳細展開講解。

我已經進行了公私鑰的配置,因此這裏選擇SSH。

image-20201229215107233

使用git clone命令克隆項目

image-20201229215845069

二、代碼管理

項目已經成功克隆,接下來要進行咱們的開發了。

2.一、建立分支

一般開發不是在Master分支上,而是在開發分支上,使用 git branch develop建立一個新分支:

image-20201229222931344

能夠經過git branch命令列出全部分支:

image-20201229223057016

能夠看到咱們新建的分支。

2.二、切換分支

使用git checkout develop命令切換到新建的develop分支:

image-20201229223325328

2.三、添加文件到暫存區

接下來,咱們再develop分支上進行一些開發操做,我這裏對 redeme 進行了一些修改,須要把修改添加到暫存區。

  • 首先經過 git status命令查看工做區文件狀態

    image-20201229223653744

  • 接下來使用 git add README.md命令(可使用git add .添加全部修改)將更改添加到暫存區

image-20201229223945199

能夠看到文件已經添加。

2.四、提交修改到倉庫

接下來使用`git commit -m "

相關文章
相關標籤/搜索