第 3 课:创建本地仓库与第一次提交
从这一课开始正式进入 Git 核心操作。学完后,你将能够独立创建 Git 仓库、管理代码版本、查看历史记录,并真正理解 Git 的工作流程。
3.1 什么是 Git 仓库?
仓库(Repository)可以理解为:
一个由 Git 管理的项目目录
例如:
my-blog
├── index.html
├── login.html
├── pom.xml
└── .git
其中:
.git
就是 Git 仓库。
.git 是什么?
初始化 Git 后:
git init
会生成:
.git
目录。
里面保存了:
- 提交记录
- 分支信息
- 标签信息
- 配置信息
- 历史版本
可以理解为:
Git 的大脑
⚠️ 注意:
不要手动修改:
.git
目录内容。
否则仓库可能损坏。
3.2 创建第一个 Git 仓库
创建项目目录
mkdir git-demo
cd git-demo
查看当前目录:
Linux / Mac:
pwd
Windows:
cd
此时目录为空:
git-demo
初始化 Git
执行:
git init
输出:
Initialized empty Git repository
查看隐藏文件:
Linux:
ls -a
Windows Git Bash:
ls -a
会看到:
.
..
.git
说明仓库创建成功。
3.3 Git 状态查看(最常用命令)
Git 中使用频率最高的命令:
git status
执行:
git status
输出:
On branch main
No commits yet
nothing to commit
意思:
当前仓库没有任何提交
3.4 创建第一个文件
创建:
readme.md
内容:
# 我的第一个Git项目
再次执行:
git status
输出:
Untracked files:
readme.md
什么意思?
Git发现了新文件
但还没有开始管理
状态:
Untracked
未跟踪
3.5 Git 文件状态变化图
必须牢记:
未跟踪(Untracked)
↓ git add
已暂存(Staged)
↓ git commit
已提交(Committed)
后面所有操作都围绕这个流程。
3.6 添加到暂存区
执行:
git add readme.md
再次查看:
git status
输出:
Changes to be committed:
new file: readme.md
说明:
文件已进入暂存区
流程:
工作区
↓
暂存区
3.7 添加多个文件
例如:
创建:
index.html
user.java
添加单个文件:
git add index.html
添加多个文件:
git add index.html user.java
添加所有文件(最常用):
git add .
流程:
所有修改
↓
暂存区
3.8 第一次提交
提交暂存区内容:
git commit -m "初始化项目"
输出:
[main abc1234] 初始化项目
此时:
暂存区
↓
本地仓库
Git 创建了第一个版本。
3.9 查看仓库状态
再次执行:
git status
输出:
nothing to commit
working tree clean
意思:
没有任何待提交内容
仓库干净。
3.10 修改文件
打开:
readme.md
原内容:
# 我的第一个Git项目
修改为:
# 我的第一个Git项目
学习 Git 真快乐!
查看状态:
git status
输出:
modified: readme.md
状态:
Modified
已修改
流程:
已提交
↓ 修改
工作区
3.11 查看具体修改内容
执行:
git diff
输出类似:
+# 学习 Git 真快乐!
含义:
+ 表示新增
- 表示删除
这个命令非常重要。
用于:
提交前检查代码
3.12 再次提交修改
加入暂存区:
git add .
提交:
git commit -m "更新项目说明文档"
形成第二个版本:
版本1
初始化项目
版本2
更新项目说明文档
3.13 查看提交历史
执行:
git log
输出:
commit a1b2c3d
Author: SuBo
Date: ...
更新项目说明文档
commit b2c3d4e
Author: SuBo
Date: ...
初始化项目
最新提交在最前面。
3.14 简洁查看历史
开发中更常用:
git log --oneline
输出:
a1b2c3d 更新项目说明文档
b2c3d4e 初始化项目
非常清晰。
3.15 查看最近 N 条记录
查看最近 5 条:
git log --oneline -5
查看最近 10 条:
git log --oneline -10
3.16 查看某个文件历史
例如:
git log readme.md
或者:
git log --oneline readme.md
输出:
a1b2c3d 更新项目说明文档
b2c3d4e 初始化项目
用于追踪:
谁改过这个文件
3.17 查看提交详细内容
执行:
git log -p
输出:
commit a1b2c3d
+# 学习 Git 真快乐!
作用:
查看每次提交具体修改了什么
3.18 查看仓库目录结构
执行:
tree
Windows:
tree /f
例如:
git-demo
├── readme.md
├── index.html
└── .git
帮助理解项目结构。
3.19 Git 完整工作流程演练
假设开发登录功能。
创建:
login.html
查看状态:
git status
添加:
git add login.html
提交:
git commit -m "完成登录页面"
查看历史:
git log --oneline
完整流程:
创建文件
↓
git status
↓
git add
↓
git commit
↓
git log
3.20 实际开发中的提交习惯
不要这样:
git commit -m "修改"
或者:
git commit -m "update"
应该这样:
git commit -m "完成用户登录功能"
git commit -m "修复登录密码校验Bug"
git commit -m "优化首页加载速度"
git commit -m "新增文章分类模块"
未来查看历史:
git log --oneline
一眼就知道每次提交干了什么。
本课总结
掌握以下核心命令:
初始化仓库
git init
查看状态
git status
添加到暂存区
git add 文件名
git add .
提交到本地仓库
git commit -m "提交说明"
查看历史记录
git log
git log --oneline
查看修改内容
git diff
Git 工作流程必须牢记:
工作区
↓ git add
暂存区
↓ git commit
本地仓库
记忆口诀:
写代码
↓
git status
↓
git add .
↓
git commit -m "说明"
↓
git log
至此,你已经能够独立完成一个项目的本地版本管理。
下一课《第 4 课:撤销操作与版本回退》将学习 Git 最强大的能力:
- git checkout
- git restore
- git reset
- git revert
- HEAD 详解
- 版本回退
- 误删代码恢复
- 后悔药大全(开发必备)