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、創建特性分支