Git 的核心價值
- 版本控制:完整記錄所有修改歷史,支持隨時回退到任意歷史版本
- 團隊協作:允許多開發者同時工作,有效避免代碼沖突和覆蓋問題
- 高效分支:通過分支隔離功能開發與穩定主線,保持項目穩定性
- 變更追溯:詳細記錄每次提交信息,便于問題定位和責任追蹤
二、環境配置與安裝
- Git 安裝指南
? 下載地址:https://git-scm.com/
? 安裝驗證方法:
git --version
- VSCode 插件推薦
插件名稱 | 主要功能 | 是否免費 |
---|---|---|
GitLens | 代碼行級歷史追蹤、高級提示 | 基礎功能免費 |
Git Graph | 可視化分支與提交歷史 | 是 |
Git History | 查看文件修改歷史 | 是 |
- 必要配置
# 設置全局用戶信息(首次使用必須配置)
git config --global user.name "您的姓名"
git config --global user.email "您的郵箱"
三、基礎工作流
- 本地倉庫操作指南
# 初始化新倉庫
git init# 查看倉庫當前狀態
git status# 文件管理操作
git add <文件名> # 添加指定文件到暫存區
git add . # 添加所有變更文件# 提交變更
git commit -m "提交說明" # 提交暫存區內容到本地倉庫# 查看歷史記錄
git log # 顯示提交歷史
- 文件狀態說明
狀態標識 | 含義 | 操作建議 |
---|---|---|
U | 文件沖突 | 需手動解決沖突 |
M | 文件已修改 | 需執行add和commit操作 |
A | 文件已暫存 | 等待提交至倉庫 |
D | 文件已刪除 | 需提交刪除操作 |
?? | 未跟蹤文件 | 需先執行add命令 |
四、分支管理策略
1. 功能分支工作流
版本控制工作流程
1. 功能開發流程
基于主分支創建功能分支
git checkout -b feature/新功能名稱
開發并提交代碼
git add . git commit -m "實現新功能"
合并到主分支
git checkout main git merge feature/新功能名稱
清理功能分支
git branch -d feature/新功能名稱
2. 分支命名規范
- main/master:主分支,用于生產發布,必須保持穩定狀態
- feature/:前綴,用于功能開發分支
- release/:前綴,用于版本發布準備分支
- hotfix/:前綴,用于線上問題緊急修復分支
五、可視化工具使用指南
1. Git Graph 使用
- 1.點擊 VSCode 側邊欄 Git Graph 圖標
- 2.查看圖形化分支歷史
- 3.右鍵提交可進行分支操作(檢出、合并、重置等)
2. Git History 使用前提
- ?必須在 Git 倉庫中(已執行?
git init
) - ?右鍵文件選擇 "View File History"
- ?可查看文件歷史版本和差異對比
3. VSCode 內置 Git 功能
- ?源代碼管理視圖(左側第三個圖標)
- ?內聯修改提示(需在設置中啟用)
- ?差異對比功能
六、常見問題解決方案
1. 倉庫體積過大
原因:提交了大型文件(如二進制文件、壓縮包、依賴庫等)
解決方案:
- 使用
filter-repo
清理歷史大文件(操作前請備份):pip install git-filter-repo git filter-repo --path-glob '*.zip' --invert-paths # 強制推送到遠程 git push origin --force --all
預防措施:
- 完善
.gitignore
文件 - 使用 Git LFS 管理必需的大型文件:
git lfs install git lfs track "*.psd" git lfs track "*.zip"
2. 插件無法正常工作
檢查項:
- 確保已安裝 Git
- 確認當前目錄為 Git 倉庫(已執行
git init
) - 嘗試重啟 VSCode
- 檢查插件配置(如
git.path
)
3. 提交身份錯誤
解決方案:
# 檢查當前配置
git config --list
# 修改全局配置
git config --global user.name "正確姓名"
git config --global user.email "正確郵箱"
七、最佳實踐總結
- 1.
??提交原則??:
- ?原子化提交:一次提交只做一件事
- ?頻繁提交:小步快走,避免大量更改一次性提交
- ?清晰描述:提交信息說明"為什么"而非"做了什么"
- 2.
??分支管理??:
- ?主分支保持穩定
- ?特性開發使用功能分支
- ?定期合并和刪除已合并分支
- 3.
??文件管理??:
- ?使用?
.gitignore
?忽略不需要版本控制的文件 - ?大文件使用 Git LFS 管理
- ?定期清理歷史大文件
- ?使用?
- 4.
??協作流程??:
- ?提交前先拉取最新代碼
- ?使用 Pull Request 進行代碼審查
- ?遵循團隊統一的工作流規范
八、附錄:常用命令速查
基礎操作
git init # 初始化倉庫
git add . # 添加所有文件到暫存區
git commit -m "描述" # 提交更改
git status # 查看狀態
git log # 查看提交歷史
分支管理
git branch # 查看分支列表
git checkout -b 新分支名 # 創建并切換到新分支
git merge 分支名 # 合并指定分支
git branch -d 分支名 # 刪除分支
遠程協作
git remote add origin 遠程地址 # 添加遠程倉庫
git push -u origin 分支名 # 推送分支到遠程
git pull origin 分支名 # 拉取遠程分支更新
git clone 遠程地址 # 克隆遠程倉庫
撤銷操作
git restore <文件> # 撤銷工作區修改
git restore --staged <文件> # 取消暫存
git reset --soft HEAD^ # 撤銷提交但保留更改