翻页

GitGitHub
完整入门教程

从零开始掌握版本控制

理解核心概念 · 掌握基础操作 · 学会团队协作

问题

你是否经历过
版本混乱

手动管理版本是一场噩梦。文件越来越多,命名越来越长,最终没人知道哪个是最新版本。

📄 报告_v1.docx
📄 报告_v2.docx
📄 报告_v2_修改版.docx
📄 报告_v2_修改版_最终版.docx
📄 报告_最终版_真的最终版.docx
📄 报告_打死也不改了.docx
解决方案

Git —— 分布式版本控制系统

由 Linus Torvalds(Linux 创始人)于 2005 年创建,如今是软件开发领域的标准工具

版本控制

自动记录每一次修改的完整快照,随时可以回到任何历史版本

🔗
分布式

每个人的电脑上都有完整的历史记录,服务器挂了也不丢失

🌿
分支管理

可以创建平行的开发线路,互不干扰,自由实验和合并

核心概念

提交(Commit)—— 项目的存档点

每次提交记录项目在某个时间点的完整状态,就像游戏存档一样

C1 初始化项目 a1b2c3d C2 添加首页 d4e5f6g C3 修复样式 h7i8j9k C4 添加登录 l0m1n2o C5 当前版本 p3q4r5s HEAD 每个提交包含: • 文件变更内容 • 提交者和时间 • 提交说明信息
核心概念

Git 的三个区域

文件在这三个区域之间流转,这是理解 Git 工作方式的关键

📂 工作区
Working Directory
你正在编辑的文件
git add
📋 暂存区
Staging Area
准备好要提交的修改
git commit
🗄️ 版本库
Repository
安全保存的历史记录

💡 类比——搬家时,你从各个房间收集物品放到打包区(git add),整理好后封箱发走(git commit)。每个箱子里的东西应该是同一类的。

核心概念

分支(Branch)—— 平行宇宙

在分支上自由实验,成功了就合并回来,失败了就丢弃——原始代码不受任何影响

C1 C2 C3 C4 C5 C6 merge C7 main feature 创建分支 合并分支 git checkout -b feature git merge feature
实操

Git 基础命令

日常使用只需要掌握这几个命令

// 初始化与基本操作
$ git init # 创建仓库
$ git status # 查看状态
$ git add hello.txt # 暂存文件
$ git add . # 暂存全部
$ git commit -m "说明" # 提交
// 查看与分支
$ git log --oneline # 简洁历史
$ git diff # 查看变更
$ git checkout -b dev # 创建分支
$ git checkout main # 切换分支
$ git merge dev # 合并分支
实操

日常工作流程

每天重复这个循环,形成肌肉记忆

① 编写代码 修改、添加文件 ② 查看状态 git status / git diff ③ 暂存修改 git add . ④ 提交 git commit -m "提交说明" ⑤ 查看历史 git log --oneline 💡 提交信息的写法 用动词开头,描述做了什么:"添加用户登录功能""修复首页加载异常""重构数据库连接"
远程协作

GitHub —— 代码的云端家园

Git 是本地工具,GitHub 把它搬到了云端

🖥️ Git(本地)
  • 在你自己的电脑上运行
  • 管理版本历史
  • 创建和合并分支
  • 好比笔和纸
+
☁️ GitHub(云端)
  • 云端备份,永不丢失
  • 多人协作与代码审查
  • 全球最大开源社区
  • 好比图书馆
远程操作

推送(Push)与拉取(Pull)

本地与远程仓库之间的数据同步

🖥️ 本地仓库 你的电脑 C1 C2 C3 C4 新的提交还在本地 ☁️ GitHub 远程仓库 github.com C1 C2 等待同步 push pull
$ git push # 推送到远程
$ git pull # 从远程拉取
协作

GitHub 核心协作功能

三大功能构成完整的协作体系

📋
Issue
任务与问题追踪。报告 Bug、提出功能建议、记录待办事项。可打标签、指派、关联里程碑。
🔀
Pull Request
代码审查与合并的核心流程。创建分支 → 提交代码 → 发起 PR → 团队审查 → 合并。
🍴
Fork
参与别人的开源项目。复制一份到自己账号下,修改后通过 PR 贡献给原项目。
协作

Pull Request 完整流程

这是 GitHub 上最常用的协作方式

1
创建分支
git checkout -b feature-login — 在独立分支上开发
2
编写代码并提交
在分支上做修改,提交多次,每次提交聚焦一个目的
3
推送并发起 PR
git push -u origin feature-login → 在 GitHub 上创建 Pull Request
4
代码审查
团队成员查看代码改动,留下评论和建议,确认质量达标
5
合并到主分支 ✓
审查通过后,点击 Merge 按钮将分支合并到 main
必备文件

每个项目都需要的两个文件

🚫 .gitignore

告诉 Git 忽略哪些文件,避免提交不该提交的内容

# 依赖目录
node_modules/
# 敏感信息
.env
# 系统文件
.DS_Store
# 日志
*.log
📖 README.md

项目的说明书和门面,别人看到的第一个文件

# 项目名称
简要介绍这个项目做什么
## 安装方法
npm install
## 使用方法
npm start
进阶

合并冲突——正常现象,不用害怕

当两个人修改了同一个文件的同一个位置,Git 无法自动决定保留哪个版本

冲突标记
<<<<<<< HEAD
你的修改内容
=======
对方的修改内容
>>>>>>> feature
解决步骤
  • 1
    打开冲突文件
  • 2
    决定保留哪些内容
  • 3
    删除冲突标记符号
  • 4
    git add + git commit
速查

完整命令速查表

收藏这一页,日常够用了

命令作用
git init初始化新仓库
git clone <url>克隆远程仓库到本地
git status查看当前状态
git add . 暂存所有修改
git commit -m "msg"提交暂存的修改
git log --oneline查看简洁的提交历史
git diff查看未暂存的变更
git checkout -b <name>创建并切换到新分支
git merge <branch>合并指定分支到当前分支
git push推送到远程仓库
git pull从远程拉取最新代码
路线图

学习路径建议

关键在于用,而非记

第一周
建立肌肉记忆

每天练习 add、commit、status、log,让基本命令变成条件反射

第二周
推送到 GitHub

创建一个真实的项目(笔记、博客、小工具),推送到 GitHub

第三周
分支与协作

练习分支操作,找朋友互相提 PR,体验完整协作流程

持续
参与开源

从修复文档错别字开始,逐步参与开源项目的深层贡献

开始你的 Git 之旅

工具的价值在于使用,现在就打开终端试试吧

$ mkdir my-first-repo
$ cd my-first-repo
$ git init
✓ Initialized empty Git repository

掌握以上内容足以应对日常使用。遇到新需求时再学习对应的进阶功能。