Git & GitHub 从入门到精通:全流程实战教程

本文将带你从零开始系统掌握 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))
  • 七、常见问题解决方案
  • 八、命令速查手册
  • 九、进阶学习资源
  • 十、学习建议

一、学习目标

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

  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 系统
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 文件状态

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

四、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
解决冲突
  1. 编辑冲突文件
  2. 删除冲突标记
  3. 提交修改
bash 复制代码
git add 冲突文件
git commit -m "fix: 解决合并冲突"

五、GitHub 远程操作

5.1 创建 GitHub 仓库

  1. 登录 GitHub
  2. 新建仓库(建议初始化 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)

  1. 在 GitHub 上 Fork 目标仓库
  2. 克隆 Fork 的仓库到本地:
bash 复制代码
git clone https://github.com/你的用户名/仓库名.git
cd 仓库名
  1. 添加上游仓库(同步原仓库更新)
bash 复制代码
git remote add upstream https://github.com/原作者/目标仓库名.git
  1. 创建功能分支开发
bash 复制代码
git switch -c feature/my-feature
# 进行功能开发并修改相应文件
  1. 提交并推送到 Fork 仓库
bash 复制代码
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. 同步上游仓库更新

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

九、进阶学习资源

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

十、学习建议

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

🎯 总结

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

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

相关推荐
阿里嘎多学长1 小时前
2026-05-30 GitHub 热点项目精选
开发语言·程序员·github·代码托管
晚风吹红霞2 小时前
Linux下的趣味编程 —— 进度条、Git版本控制与GDB调试实战
linux·运维·git
xlq223223 小时前
7.git
git
Ws_3 小时前
Git + Gerrit 第六课:commit --amend、Patch Set 与 Change-Id
git
lauo16 小时前
从FunloomAI到ibbot:当你的手机不再是“手机”,而是你的AI副脑和生产节点
人工智能·智能手机·架构·开源·github
Hommy8818 小时前
【剪映小助手】贴纸处理接口
网络·开源·github·aigc·剪映小助手·视频剪辑自动化
AIMath~20 小时前
向github中上传文件过大超过50M怎么办
网络·git·github
麷飞花20 小时前
Github开源协议
github·开源协议
用户8876654266320 小时前
Git 和 GitHub 入门:从版本控制到团队协作,一篇文章讲清楚
面试·github