本文将带你从零开始系统掌握 Git 和 GitHub 的核心技能,结合常见开发场景,完整覆盖从环境配置到团队协作的版本控制全流程。
📚 文章目录
- 一、学习目标
- 二、前置准备
- [2.1 安装 Git](#2.1 安装 Git)
- [2.2 基础配置(必做项)](#2.2 基础配置(必做项))
- [三、Git 核心概念(先理解再实践)](#三、Git 核心概念(先理解再实践))
- [3.1 三个核心区域](#3.1 三个核心区域)
- [3.2 文件的四种状态](#3.2 文件的四种状态)
- [四、Git 本地核心操作(单人开发)](#四、Git 本地核心操作(单人开发))
- [4.1 创建/初始化仓库](#4.1 创建/初始化仓库)
- [4.2 基础提交流程(高频使用)](#4.2 基础提交流程(高频使用))
- [4.3 查看提交历史](#4.3 查看提交历史)
- [4.4 撤销/回滚操作(错误处理)](#4.4 撤销/回滚操作(错误处理))
- [4.5 分支管理(多人协作关键)](#4.5 分支管理(多人协作关键))
- [五、GitHub 远程操作(团队协作)](#五、GitHub 远程操作(团队协作))
- [5.1 准备工作:创建 GitHub 账号与仓库](#5.1 准备工作:创建 GitHub 账号与仓库)
- [5.2 关联本地与远程仓库](#5.2 关联本地与远程仓库)
- [5.3 远程仓库操作指南](#5.3 远程仓库操作指南)
- [六、团队协作全流程(Fork + PR)](#六、团队协作全流程(Fork + PR))
- 七、常见问题解决方案
- 八、命令速查手册
- 九、进阶学习资源
- 十、学习建议
一、学习目标
通过本文的学习,你将掌握以下核心技能:
- ✅ Git 环境安装与基础配置
- ✅ Git 核心概念(工作区、暂存区、仓库、分支等)
- ✅ Git 本地操作(提交、回滚、分支管理)
- ✅ GitHub 远程仓库操作(推送、拉取、Fork、PR)
- ✅ 解决 Git 常见问题
二、前置准备
2.1 安装 Git
Windows 系统
- 访问 Git 官网 下载 Windows 版安装包
- 运行安装程序,保持默认配置(建议勾选 Git Bash)
- 验证安装:打开 Git Bash,执行
git --version,显示版本号即成功
macOS 系统
bash
# 推荐使用 Homebrew 安装
brew install git
# 或从官网下载安装包
# 访问 https://git-scm.com/ 下载
Linux 系统
bash
# Ubuntu/Debian
sudo apt-get install git
# CentOS/RHEL
sudo yum install git
2.2 基础配置(必做)
配置全局用户名和邮箱(需与 GitHub 一致):
bash
git config --global user.name "你的 GitHub 用户名"
git config --global user.email "你的 GitHub 绑定邮箱"
# 验证配置
git config --list # 确认 user.name 和 user.email 正确
可选优化配置
bash
# 设置默认分支为 main
git config --global init.defaultBranch main
# 设置 VS Code 为默认编辑器(可选)
git config --global core.editor "code --wait"
三、Git 核心概念
3.1 三个核心区域
| 区域 | 说明 |
|---|---|
| 工作区 | 本地编辑的文件目录 |
| 暂存区 | 待提交修改的缓冲区 |
| 仓库 | 版本数据库(.git 目录) |
3.2 文件状态
- 未跟踪:新创建的文件
- 已修改:文件修改未暂存
- 已暂存:修改已添加到暂存区
- 已提交:修改保存到本地仓库
四、Git 本地操作
4.1 创建/初始化仓库
本地新建项目
bash
mkdir my-project
cd my-project
git init
echo "# My Project" > README.md
克隆远程仓库
bash
# 克隆默认目录
git clone https://github.com/用户名/仓库名.git
# 克隆到指定目录
git clone https://github.com/用户名/仓库名.git 自定义目录
4.2 基础提交流程
bash
# 查看状态
git status
# 添加到暂存区
git add . # 推荐日常使用
# 提交到仓库
git commit -m "feat: 添加 README"
4.3 查看提交历史
bash
git log --oneline # 简洁版
git log --graph --oneline --all # 图形化分支
4.4 撤销操作
撤销工作区修改
bash
git restore README.md
取消暂存
bash
git restore --staged README.md
回滚提交
bash
git reset --hard HEAD~1 # 谨慎使用
4.5 分支管理
bash
# 创建并切换分支
git switch -c feature/login
# 合并分支
git switch main
git merge feature/login
# 删除分支
git branch -d feature/login
解决冲突
- 编辑冲突文件
- 删除冲突标记
- 提交修改
bash
git add 冲突文件
git commit -m "fix: 解决合并冲突"
五、GitHub 远程操作
5.1 创建 GitHub 仓库
- 登录 GitHub
- 新建仓库(建议初始化 README)
5.2 关联远程仓库
本地已有仓库
bash
git remote add origin https://github.com/用户名/仓库名.git
git push -u origin main
克隆仓库
bash
git clone https://github.com/用户名/仓库名.git
5.3 常用远程操作
bash
git pull # 拉取最新代码
git push origin 分支名 # 推送分支
六、团队协作流程(Fork + PR)
- 在 GitHub 上 Fork 目标仓库
- 克隆 Fork 的仓库到本地:
bash
git clone https://github.com/你的用户名/仓库名.git
cd 仓库名
- 添加上游仓库(同步原仓库更新):
bash
git remote add upstream https://github.com/原作者/目标仓库名.git
- 创建功能分支开发:
bash
git switch -c feature/my-feature
# 进行功能开发并修改相应文件
- 提交并推送到 Fork 仓库:
bash
git add .
git commit -m "feat: 添加 xxx 功能"
git push origin feature/my-feature
-
创建 Pull Request:
- 访问 Fork 仓库页面,点击「Compare & pull request」
- 完善 PR 描述,选择目标分支后点击「Create pull request」
-
同步上游仓库更新:
bash
git fetch upstream
git switch main
git merge upstream/main
七、日常开发常见问题与解决方案
问题 1:提交时遗漏文件
bash
git add 遗漏的文件名
git commit --amend --no-edit
问题 2:暂存工作区修改
bash
git stash # 保存当前修改
git stash list # 查看暂存列表
git stash pop # 恢复最新暂存(默认删除)
git stash apply stash@{0} # 恢复指定暂存(保留记录)
问题 3:配置.gitignore
创建.gitignore文件并添加需要忽略的内容:
bash
touch .gitignore
示例内容:
# 依赖目录
node_modules/
vendor/
# 日志文件
*.log
# 编辑器配置
.vscode/
.idea/
# 系统文件
.DS_Store
Thumbs.db
问题 4:撤销已推送的提交(谨慎操作)
bash
git reset --hard HEAD~1
git push -f origin main # 强制推送(需团队沟通)
八、常用命令速查表
| 命令 | 功能 |
|---|---|
git init |
初始化仓库 |
git clone <url> |
克隆远程仓库 |
git status |
查看状态 |
git add <file> |
暂存文件 |
git commit -m "msg" |
提交变更 |
git log --oneline |
查看提交历史 |
git branch |
分支管理 |
git switch <branch> |
切换分支 |
git merge <branch> |
合并分支 |
git remote add origin <url> |
关联远程仓库 |
git push |
推送代码 |
git pull |
拉取更新 |
九、进阶学习资源
十、学习建议
- 理解优先:掌握三区、分支等核心概念
- 勤加练习:在测试仓库反复演练各项操作
- 模拟协作:通过实践熟悉 Fork/PR 流程
- 善用文档:养成查阅官方资料的习惯
🎯 总结
本文涵盖了 Git 和 GitHub 从基础操作到团队协作的全流程。记住:版本控制的核心在于有效管理代码变更,熟能生巧!
如果觉得有帮助,欢迎点赞收藏,有任何问题也欢迎交流讨论~ 👍