本文将带你从零开始系统掌握 Git 和 GitHub 的核心技能,结合常见开发场景,完整覆盖从环境配置到团队协作的版本控制全流程。

📚 文章目录

一、学习目标

通过本文的学习,你将掌握以下核心技能:

  1. ✅ Git 环境安装与基础配置
  2. ✅ Git 核心概念(工作区、暂存区、仓库、分支等)
  3. ✅ Git 本地操作(提交、回滚、分支管理)
  4. ✅ GitHub 远程仓库操作(推送、拉取、Fork、PR)
  5. ✅ 解决 Git 常见问题

二、前置准备

2.1 安装 Git

Windows 系统
  1. 访问 Git 官网 下载 Windows 版安装包
  2. 运行安装程序,保持默认配置(建议勾选 Git Bash)
  3. 验证安装:打开 Git Bash,执行 git --version,显示版本号即成功
macOS 系统
# 推荐使用 Homebrew 安装
brew install git

# 或从官网下载安装包
# 访问 https://git-scm.com/ 下载
Linux 系统
# Ubuntu/Debian
sudo apt-get install git

# CentOS/RHEL
sudo yum install git

2.2 基础配置(必做)

配置全局用户名和邮箱(需与 GitHub 一致):

git config --global user.name "你的 GitHub 用户名"
git config --global user.email "你的 GitHub 绑定邮箱"

# 验证配置
git config --list  # 确认 user.name 和 user.email 正确
可选优化配置
# 设置默认分支为 main
git config --global init.defaultBranch main

# 设置 VS Code 为默认编辑器(可选)
git config --global core.editor "code --wait"

三、Git 核心概念

3.1 三个核心区域

区域 说明
工作区 本地编辑的文件目录
暂存区 待提交修改的缓冲区
仓库 版本数据库(.git 目录)

3.2 文件状态

  1. 未跟踪:新创建的文件
  2. 已修改:文件修改未暂存
  3. 已暂存:修改已添加到暂存区
  4. 已提交:修改保存到本地仓库

四、Git 本地操作

4.1 创建/初始化仓库

本地新建项目
mkdir my-project
cd my-project
git init
echo "# My Project" > README.md
克隆远程仓库
# 克隆默认目录
git clone https://github.com/用户名/仓库名.git

# 克隆到指定目录
git clone https://github.com/用户名/仓库名.git 自定义目录

4.2 基础提交流程

# 查看状态
git status

# 添加到暂存区
git add .  # 推荐日常使用

# 提交到仓库
git commit -m "feat: 添加 README"

4.3 查看提交历史

git log --oneline  # 简洁版
git log --graph --oneline --all  # 图形化分支

4.4 撤销操作

撤销工作区修改
git restore README.md
取消暂存
git restore --staged README.md
回滚提交
git reset --hard HEAD~1  # 谨慎使用

4.5 分支管理

# 创建并切换分支
git switch -c feature/login

# 合并分支
git switch main
git merge feature/login

# 删除分支
git branch -d feature/login
解决冲突
  1. 编辑冲突文件
  2. 删除冲突标记
  3. 提交修改
git add 冲突文件
git commit -m "fix: 解决合并冲突"

五、GitHub 远程操作

5.1 创建 GitHub 仓库

  1. 登录 GitHub
  2. 新建仓库(建议初始化 README)

5.2 关联远程仓库

本地已有仓库
git remote add origin https://github.com/用户名/仓库名.git
git push -u origin main
克隆仓库
git clone https://github.com/用户名/仓库名.git

5.3 常用远程操作

git pull  # 拉取最新代码
git push origin 分支名  # 推送分支

六、团队协作流程(Fork + PR)

  1. 在 GitHub 上 Fork 目标仓库
  2. 克隆 Fork 的仓库到本地:
git clone https://github.com/你的用户名/仓库名.git
cd 仓库名
  1. 添加上游仓库(同步原仓库更新)
git remote add upstream https://github.com/原作者/目标仓库名.git
  1. 创建功能分支开发
git switch -c feature/my-feature
# 进行功能开发并修改相应文件
  1. 提交并推送到 Fork 仓库
git add .
git commit -m "feat: 添加 xxx 功能"
git push origin feature/my-feature
  1. 创建 Pull Request

    • 访问 Fork 仓库页面,点击「Compare & pull request」
    • 完善 PR 描述,选择目标分支后点击「Create pull request」
  2. 同步上游仓库更新

git fetch upstream
git switch main
git merge upstream/main

七、日常开发常见问题与解决方案

问题 1:提交时遗漏文件

git add 遗漏的文件名
git commit --amend --no-edit

问题 2:暂存工作区修改

git stash  # 保存当前修改
git stash list  # 查看暂存列表
git stash pop  # 恢复最新暂存(默认删除)
git stash apply stash@{0}  # 恢复指定暂存(保留记录)

问题 3:配置.gitignore

创建.gitignore文件并添加需要忽略的内容:

touch .gitignore

示例内容:

# 依赖目录
node_modules/
vendor/

# 日志文件
*.log

# 编辑器配置
.vscode/
.idea/

# 系统文件
.DS_Store
Thumbs.db

问题 4:撤销已推送的提交(谨慎操作)

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 拉取更新

九、进阶学习资源

  1. Git 官方文档
  2. Pro Git 中文版
  3. GitHub 官方指南
  4. Git 速查表

十、学习建议

  1. 理解优先:掌握三区、分支等核心概念
  2. 勤加练习:在测试仓库反复演练各项操作
  3. 模拟协作:通过实践熟悉 Fork/PR 流程
  4. 善用文档:养成查阅官方资料的习惯

🎯 总结

本文涵盖了 Git 和 GitHub 从基础操作到团队协作的全流程。记住:版本控制的核心在于有效管理代码变更,熟能生巧!

如果觉得有帮助,欢迎点赞收藏,有任何问题也欢迎交流讨论~ 👍

Logo

免费领 100 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐