跳到主要内容

Git 新手快速上手笔记

这篇适合谁

如果你刚开始学 Git,还没完全分清工作区、暂存区、提交历史和远程仓库之间的关系,先看这一篇最合适。

目标不是一次学完所有命令,而是先建立一套“能稳定做事、不容易把仓库搞乱”的最小工作流。

先记住 Git 的最小模型

可以把 Git 理解成下面这条流水线:

工作区 -> git add -> 暂存区 -> git commit -> 本地仓库 -> git push -> 远程仓库

四个核心概念:

  • 工作区:你当前正在编辑的文件。
  • 暂存区:下一次提交准备带上的内容。
  • 本地仓库:已经提交到本地历史里的版本。
  • 远程仓库:GitHub、GitLab、Gitee 上的仓库副本。

初学时只要把这件事记住,很多命令就不会混。

第一次使用先做的配置

git config --global user.name "Your Name"
git config --global user.email "you@example.com"
git config --global init.defaultBranch main
git config --global core.editor vim

检查配置:

git config --list

如果你还没配过环境,可以再看 安装和配置 Git

两种开始方式

方式一:新建一个自己的仓库

mkdir my-project
cd my-project
git init
git status

第一次提交:

git add .
git commit -m "init: first commit"

方式二:克隆一个已有仓库

git clone <repository-url>
cd <repository-folder>
git status

新手先学会的 8 个核心命令

命令用途新手理解方式
git status看当前状态每次不确定时先敲它
git add把改动放进暂存区告诉 Git“这些改动准备提交”
git commit -m生成一次本地提交把暂存区内容写进历史
git log --oneline看提交历史快速回顾最近提交
git diff看还没暂存的改动提交前先核对内容
git switch切换分支checkout 更清楚
git pull拉取远程更新先同步再继续开发
git push推送到远程把本地提交同步出去

每天最常用的一套工作流

1. 开始前先看状态

git status
git branch --show-current

2. 开新任务时单独拉一个分支

git switch -c feature/login

3. 修改文件后先检查

git status
git diff

4. 确认无误后加入暂存区并提交

git add <file>
git commit -m "feat: add login page"

如果要一次加入当前目录全部改动:

git add .

5. 第一次推送新分支

git push -u origin $(git branch --show-current)

以后同一分支再推送通常只需要:

git push

先学会看懂 git status

最常见的几种状态:

  • ?? file.txt:未跟踪文件,Git 还没接管它。
  • M file.txt:工作区已修改,但还没 git add
  • M file.txt:修改已经进入暂存区。
  • A file.txt:新文件已经暂存。
  • D file.txt:删除操作已经暂存。

如果你老是搞不清自己现在处于什么状态,优先读 查看当前 Git 仓库中的文件

新手最容易遇到的 6 个问题

1. git add 加错了文件

git restore --staged <file>

详细说明见 Git 撤销 git add 操作指南

2. 工作区改乱了,不想要了

git restore <file>

详细说明见 Git 丢弃工作区已跟踪改动指南

3. 出现很多临时文件、构建文件

git clean -nd
git clean -fd

详细说明见 Git 清理未跟踪文件指南

4. 做到一半要切去处理别的任务

git stash push -u -m "wip"

详细说明见 Git stash 暂存现场指南

5. 刚提交就后悔了,但还没推送

git reset --soft HEAD~1

详细说明见 Git 撤销提交指南

6. 已经推送了错误提交

git revert <commit>

详细说明见 Git revert 指南

新手先不要乱用的命令

下面这些命令不是不能学,而是不建议在没理解后果时直接上手:

  • git reset --hard
  • git push -f
  • git rebase
  • git cherry-pick
  • git filter-repo

原因很简单:它们更容易改写历史、覆盖本地改动,或者让协作分支变得难以理解。

一个足够实用的学习顺序

第一阶段:先把“日常提交”学会

重点只学:

git status
git add
git commit
git log --oneline
git push

第二阶段:学会“撤销”和“恢复”

重点看:

第三阶段:学会“分支协作”

重点看:

第四阶段:再学高级主题

重点看:

最后给新手的三个建议

  • 每次不确定时,先敲 git status,不要靠猜。
  • 先理解“工作区 / 暂存区 / 提交历史”,再去学各种撤销命令。
  • 在共享分支上,优先使用安全、可回溯的方式,不要把 force push 当日常操作。