第 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 详解
  • 版本回退
  • 误删代码恢复
  • 后悔药大全(开发必备)