# 如何使用Git/GitHub
## 目錄
1. [版本控制基礎概念](#版本控制基礎概念)
2. [Git安裝與配置](#git安裝與配置)
3. [Git核心工作流程](#git核心工作流程)
4. [Git分支管理策略](#git分支管理策略)
5. [GitHub平臺詳解](#github平臺詳解)
6. [團隊協作最佳實踐](#團隊協作最佳實踐)
7. [高級Git技巧](#高級git技巧)
8. [常見問題解決方案](#常見問題解決方案)
9. [Git與其他工具集成](#git與其他工具集成)
10. [學習資源推薦](#學習資源推薦)
---
## 版本控制基礎概念
### 什么是版本控制
版本控制系統(VCS)是記錄文件內容變化,以便將來查閱特定版本修訂情況的系統?,F代版本控制系統主要分為:
- 本地版本控制系統(如RCS)
- 集中式版本控制系統(如SVN)
- 分布式版本控制系統(如Git)
### Git的誕生與發展
Linux之父Linus Torvalds在2005年開發Git以替代商業版本控制系統BitKeeper。Git的設計特點包括:
- 分布式架構
- 強大的分支管理
- 高效的性能
- 數據完整性保證(SHA-1哈希)
### Git vs GitHub
| 特性 | Git | GitHub |
|-------------|----------------------|----------------------|
| 類型 | 版本控制工具 | 代碼托管平臺 |
| 安裝要求 | 需要本地安裝 | 基于Web無需安裝 |
| 核心功能 | 版本控制 | 社交化編程 |
| 存儲位置 | 本地倉庫 | 云端倉庫 |
---
## Git安裝與配置
### 各平臺安裝方法
**Windows系統:**
1. 下載官方安裝包(https://git-scm.com/downloads)
2. 運行安裝向導(建議勾選"Git Bash Here"選項)
3. 安裝后驗證:`git --version`
**macOS系統:**
```bash
# 通過Homebrew安裝
brew install git
# 或使用Xcode命令行工具
xcode-select --install
Linux系統:
# Debian/Ubuntu
sudo apt-get install git
# CentOS/RHEL
sudo yum install git
設置全局用戶信息:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
常用配置項:
# 設置默認編輯器為VSCode
git config --global core.editor "code --wait"
# 啟用彩色輸出
git config --global color.ui auto
# 查看所有配置
git config --list
# 新建本地倉庫
git init project-name
cd project-name
# 克隆現有倉庫
git clone https://github.com/user/repo.git
工作目錄 → 暫存區 → 本地倉庫 → 遠程倉庫
↑ ↑ ↑
(修改) (git add) (git commit)
# 查看狀態
git status
# 添加文件到暫存區
git add filename.ext
git add . # 添加所有文件
# 提交變更
git commit -m "描述性提交信息"
# 查看提交歷史
git log --oneline --graph
# 撤銷工作區修改
git checkout -- filename
# 撤銷暫存區文件
git reset HEAD filename
# 修改最后一次提交
git commit --amend
# 創建分支
git branch feature-x
# 切換分支
git checkout feature-x
# 或使用更安全的
git switch feature-x
# 創建并切換分支
git checkout -b hotfix
# 合并分支(先切換到目標分支)
git merge feature-x
# 刪除分支
git branch -d feature-x
Git Flow模型: - master:生產代碼 - develop:開發主線 - feature/:功能開發 - release/:預發布 - hotfix/*:緊急修復
GitHub Flow簡化模型: 1. 從master創建分支 2. 提交變更 3 創建Pull Request 4. 審查合并
推薦使用Conventional Commits:
<類型>[可選范圍]: <描述>
[可選正文]
[可選腳注]
示例:
feat(authentication): add JWT support
Implement JSON Web Token authentication middleware with configurable secret.
Closes #123
git rebase -i HEAD~3
常用操作: - pick:保留提交 - reword:修改提交信息 - edit:暫停修改內容 - squash:合并到前一個提交 - fixup:合并并丟棄日志
# 添加子模塊
git submodule add https://github.com/user/repo.git libs/repo
# 克隆包含子模塊的項目
git clone --recurse-submodules https://github.com/user/main-repo.git
示例pre-commit鉤子(.git/hooks/pre-commit):
#!/bin/sh
# 運行測試
npm test
if [ $? -ne 0 ]; then
echo "測試失敗,提交中止"
exit 1
fi
git status
定位沖突文件<<<<<<<
標記)
git mergetool
git add conflicted-file.ext
# 查看引用日志
git reflog
# 重置到特定狀態
git reset --hard HEAD@{2}
# GitHub Actions示例
name: CI Pipeline
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: npm install
- run: npm test
本文共計約6250字,涵蓋了Git/GitHub的核心概念和實用技巧。建議讀者按照章節順序逐步實踐,遇到問題時參考常見問題章節。持續練習是掌握版本控制系統的關鍵! “`
注:實際字數統計可能因Markdown渲染方式略有差異。如需精確字數,建議在Markdown編輯器中查看完整統計。本文結構設計考慮了技術文檔的可讀性和實用性,每個章節都可以單獨展開為更詳細的內容。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。