Git 的使用

一、git常用命令

1、生成 SSH Key

ssh-keygen -t rsa -C "郵箱地址"

2、配置全局用戶資訊

it config --global user.name "提交時顯示的用戶名"
git config --global user.email "提交時顯示的郵箱"

3、查看git配置資訊

git config --list

4、創建項目

// 1. 拉取一個遠程項目
git clone git庫地址
// 2. 創建一個工程,然後掛載到遠程
git init
git remote add origin 地址

5、拉取遠程庫

// 1. 拉取新分支和數據
git fetch
// 2. 拉取數據,併合併到當前分支
git pull

6、本地操作

工作區:項目所在目錄下,項目相關程式碼

版本庫:項目所在目錄,.git 文件。

暫存區:在版本庫下,index 文件夾

HEAD : 版本庫中,存儲著master分支的文件樹。用來和遠程庫保持一致

// 工作區的改動,同步到暫存區
git add 文件
// 暫存區改動,同步到HEAD
git commit -m '資訊'
// 撤回 HEAD 的改動,讓暫存區和HEAD保持一致,所以也會撤銷暫存區的改動
git reset HEAD
// 撤回工作區的改動,使用暫存區,來直接重寫工作區
git checkout . 或者 git checkout -- filename
// 用 HEAD 來重置工作區,會清除工作區的改動,和暫存區中,未提交的改動
git checkout HEAD . 或者 git checkout HEAD filename

7、本地文件狀態

// 顯示工作區修改,和暫存區修改
git status
// 顯示 HEAD 修改
git log
// 顯示status 的結果詳情
git diff [filename]

8、分支

// 創建分支
git branch 新分支
// 切換分支
git checkout 分支名
// 將某個分支的內容,合併到當前分支
git merge --no-ff 被合併分支名
// 創建新分支,且切換
git checkout -b 分支名
// 刪除分支
git branch -d 分支名

9、衝突

10、快取

11、標籤

程式碼如果需要區分版本,我們會給當前版本最後一次提交的時候,打一個標籤。

git tag -a 標籤資訊

如果我們希望查看歷史版本,可以使用版本回退,可以根據 tag 進行回退,也可以根據標籤進行回退

// 根據標籤進行回退
git checkout 標籤資訊
// 根據 commit id 進行回退
git reset --hard commitID

二、工程實踐

1、分支最佳實踐

主要分支

  • master:生產分支,程式碼可部署到生產環境。
  • dev : 可交付的開發程式碼。合併到 master 時,會打上標籤,作為發布版本號。

輔助分支

  • 特性分支
  • 發布分支
  • 緊急修復分支

特性分支

從dev中分出來,最終又合併到dev上。用於開發新特性,開發完成會合併到dev。

// 1、創建特性分支

Tags: