跳到主要内容

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 当日常操作。