前端開發:Git使用教程

簡介

Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的專案。

Git 是 Linus Torvalds 為了幫助管理 Linux 核心開發而開發的一個開放原始碼的版本控制軟體。

Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的方式,不必伺服器端軟體支援。

安裝

Linux 平臺上安裝

Git 的工作需要呼叫 curl,zlib,openssl,expat,libiconv 等庫的程式碼,所以需要先安裝這些依賴工具。

在有 yum 的系統上(比如 Fedora)或者有 apt-get 的系統上(比如 Debian 體系),可以用下面的命令安裝:

各 Linux 系統可以使用其安裝包管理工具(apt-get、yum 等)進行安裝:

Debian/Ubuntu

Debian/Ubuntu Git 安裝命令為:

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev$ apt-get install git$ git ——versiongit version 1。8。1。2

Centos/RedHat

如果你使用的系統是 Centos/RedHat 安裝命令為:

$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel$ yum -y install git-core$ git ——versiongit version 1。7。1

原始碼安裝

我們也可以在官網下載原始碼包來安裝,最新原始碼包下載地址:https://git-scm。com/download

安裝指定系統的依賴包:

########## Centos/RedHat ##########$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel########## Debian/Ubuntu ##########$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev

解壓安裝下載的原始碼包:

$ tar -zxf git-1。7。2。2。tar。gz$ cd git-1。7。2。2$ make prefix=/usr/local all$ sudo make prefix=/usr/local install

Windows 平臺上安裝

在 Windows 平臺上安裝 Git 同樣輕鬆,有個叫做 msysGit 的專案提供了安裝包,可以到 GitHub 的頁面上下載 exe 安裝檔案並執行:

安裝包下載地址:https://gitforwindows。org/

官網慢,可以用國內的映象:https://npm。taobao。org/mirrors/git-for-windows/。

前端開發:Git使用教程

完成安裝之後,就可以使用命令列的 git 工具(已經自帶了 ssh 客戶端)了,另外還有一個圖形介面的 Git 專案管理工具。

在開始選單裡找到“Git”->“Git Bash”,會彈出 Git 命令視窗,你可以在該視窗進行 Git 操作。

Mac 平臺上安裝

在 Mac 平臺上安裝 Git 最容易的當屬使用圖形化的 Git 安裝工具,下載地址為:

http://sourceforge。net/projects/git-osx-installer/

安裝介面如下所示:

前端開發:Git使用教程

Git 配置

Git 提供了一個叫做 git config 的工具,專門用來配置或讀取相應的工作環境變數。

這些環境變數,決定了 Git 在各個環節的具體工作方式和行為。這些變數可以存放在以下三個不同的地方:

/etc/gitconfig 檔案:系統中對所有使用者都普遍適用的配置。若使用 git config 時用 ——system 選項,讀寫的就是這個檔案。

~/。gitconfig 檔案:使用者目錄下的配置檔案只適用於該使用者。若使用 git config 時用 ——global 選項,讀寫的就是這個檔案。

當前專案的 Git 目錄中的配置檔案(也就是工作目錄中的 。git/config 檔案):這裡的配置僅僅針對當前專案有效。每一個級別的配置都會覆蓋上層的相同配置,所以 。git/config 裡的配置會覆蓋 /etc/gitconfig 中的同名變數。

在 Windows 系統上,Git 會找尋使用者主目錄下的 。gitconfig 檔案。主目錄即 $HOME 變數指定的目錄,一般都是 C:\Documents and Settings\$USER。

此外,Git 還會嘗試找尋 /etc/gitconfig 檔案,只不過看當初 Git 裝在什麼目錄,就以此作為根目錄來定位。

使用者資訊

配置個人的使用者名稱稱和電子郵件地址:

$ git config ——global user。name “runoob”$ git config ——global user。email test@runoob。com

如果用了

--global

選項,那麼更改的配置檔案就是位於你使用者主目錄下的那個,以後你所有的專案都會預設使用這裡配置的使用者資訊。

如果要在某個特定的專案中使用其他名字或者電郵,只要去掉 ——global 選項重新配置即可,新的設定儲存在當前專案的 。git/config 檔案裡。

文字編輯器

設定Git預設使用的文字編輯器, 一般可能會是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的話,可以重新設定::

$ git config ——global core。editor emacs

差異分析工具

還有一個比較常用的是,在解決合併衝突時使用哪種差異分析工具。比如要改用 vimdiff 的話:

$ git config ——global merge。tool vimdiff

Git 可以理解 kdiff3,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,和 opendiff 等合併工具的輸出資訊。

當然,你也可以指定使用自己開發的工具,具體怎麼做可以參閱第七章。

檢視配置資訊

要檢查已有的配置資訊,可以使用 git config ——list 命令:

$ git config ——listhttp。postbuffer=2Muser。name=runoobuser。email=test@runoob。com

有時候會看到重複的變數名,那就說明它們來自不同的配置檔案(比如 /etc/gitconfig 和 ~/。gitconfig),不過最終 Git 實際採用的是最後一個。

這些配置我們也可以在

~/.gitconfig

/etc/gitconfig

看到,如下所示:

vim ~/。gitconfig

顯示內容如下所示:

[http] postBuffer = 2M[user] name = runoob email = test@runoob。com

也可以直接查閱某個環境變數的設定,只要把特定的名字跟在後面即可,像這樣:

$ git config user。namerunoob

Git 基本操作

Git 的工作就是建立和儲存你專案的快照及與之後的快照進行對比。

本章將對有關建立與提交你的專案快照的命令作介紹。

Git 常用的是以下 6 個命令:

git clone

git push

git add

git commit

git checkout

git pull

,後面我們會詳細介紹。

前端開發:Git使用教程

說明:

workspace:工作區

staging area:暫存區/快取區

local repository:版本庫或本地倉庫

remote repository:遠端倉庫

一個簡單的操作步驟:

$ git init $ git add 。 $ git commit

git init - 初始化倉庫。

git add 。 - 新增檔案到暫存區。

git commit - 將暫存區內容新增到倉庫中。

建立倉庫命令

下表列出了 git 建立倉庫的命令:

命令

說明

git init

初始化倉庫

git clone

複製一份遠端倉庫,也就是下載一個專案。

提交與修改

Git 的工作就是建立和儲存你的專案的快照及與之後的快照進行對比。

下表列出了有關建立與提交你的專案的快照的命令:

命令

說明

git add

新增檔案到倉庫

git status

檢視倉庫當前的狀態,顯示有變更的檔案。

git diff

比較檔案的不同,即暫存區和工作區的差異。

git commit

提交暫存區到本地倉庫。

git reset

回退版本。

git rm

刪除工作區檔案。

git mv

移動或重新命名工作區檔案。

提交日誌

命令

說明

git log

檢視歷史提交記錄

git blame

以列表形式檢視指定檔案的歷史修改記錄

遠端操作

命令

說明

git remote

遠端倉庫操作

git fetch

從遠端獲取程式碼庫

git pull

下載遠端程式碼併合並

git push

上傳遠端程式碼併合並

覺得效果不錯的請幫忙加個關注點個贊,每天分享前端實用開發技巧