【web前端自動化工作環境配置】6. 版本控制工具git與githup的區別與聯絡以及git的基本用法
最近專案裡面在用Git提交程式碼,剛開始的時候對這個工具也不是很瞭解,業餘時間抽空就學習了一下。Git是一個原始碼管理工具,便於大家協同開發,在一個專案中,凡是由開發人員編寫的程式碼都是原始碼,都需要被管理起來,讓原始碼容易被追溯,主要記錄每次變更了什麼,誰主導了這次的變化,由於人為的維護比較麻煩,Linux之父當年為了維護管理Linux的原始碼就開發了Git這個工具,用來記錄原始碼的所有變更情況。
一、git與githup的區別與聯絡
git是一個工具而githup是一個網站,githup是git服務提供商,提供的git服務,如下所示的關係圖,git init 初始化本地倉庫以後,根目錄下會生成一個.git資料夾,git add/commit提交的程式碼只是到了本地的.git倉庫中,專案中其他同事提交的程式碼也只是到了他自己本地的.git程式碼倉庫中,如何實現協同開發呢?githup就應運而生,充當了遠端程式碼倉庫的角色,用於託管專案程式碼,大家把程式碼都push到遠端程式碼倉庫中,再從遠端倉庫中pull到本地開發,從而實現協同工作。
二、安裝git及git的基本使用
(1)安裝git
(2)git命令操作
- 初始化一個本地git倉庫,就是在本地資料夾中添加了一個.git資料夾用於記錄所有的專案變更資訊
cd 當前專案目錄
git init
- 檢視本地倉庫的變更狀態,用於檢視本地倉庫的狀態,第一次檢視,顯示的是一坨沒有被跟蹤的檔案
git status
git status -s //輸出簡要的變更日誌,即各個檔案的狀態,A為已經新增,M為已經修改,??表示被忽略的檔案
- 新增本地暫存(託管)檔案
git add
git add . //等價於git add --all
點代表當前資料夾,意思就是添加當前資料夾下的所有檔案,可以將一個沒有被跟蹤的檔案新增到跟蹤列表- 新增本地git忽略清單檔案
在程式碼庫資料夾的根目錄下新增一個.gitignore檔案,此檔案用於說明忽略的檔案有哪些,如:node-modules,.idea,README.md,/dist(斜線表示根目錄下的dist資料夾),被新增到.gitignore檔案的檔案,在執行git add --all命令的時候就不會新增到本地倉庫中
- 提交被託管檔案的變化到本地倉庫
git commit -m '第一次提交程式碼到本地倉庫' //將本地的變化提交到本地的倉庫資料夾歸檔
- 對比差異
git diff
用於對比當前狀態和版本庫中狀態的變化,如下圖所示,顯示了當前更改了哪些內容- 顯示日誌資訊
git log
- 為倉庫新增遠端(伺服器)地址
git remote add origin 地址
git remote //遠端倉庫的名字,預設為origin
git remote -v //遠端倉庫地址,一個為推送地址,一個為拉取地址,實際上兩個地址是一樣的
git pull --rebase origin master //合併程式碼
- 將本地倉庫的提交記錄推送到遠端的master分支
git push -u origin master // -u 是以流的形式推送
- 拉取遠端master分支的更新記錄到本地
git pull origin master
- 迴歸到指定版本
git reset --hard <commit雜湊值前六位>
- Git分支
git branch //檢視分支
git branch <分支名> //建立分支
git checkout <分支名> //切換分支