Git 基础用法笔记:常用命令与含义

整理 Git 日常开发中最常用的基础命令,包括状态查看、暂存、提交、分支、远程同步、撤销和完整工作流。

Git 是一个版本控制工具,用来记录代码或文档的修改历史。它最核心的价值是:知道改了什么、什么时候改的、为什么改,以及在需要时回到之前的版本。

这篇笔记按日常使用顺序整理 Git 的基础命令。

一、Git 的几个基本概念

在使用命令之前,先理解几个常见概念。

工作区

工作区就是你当前正在编辑的项目目录。

例如你在本地修改了一个 README.md,这个修改一开始就在工作区里。

暂存区

暂存区可以理解成“准备提交的改动清单”。

执行 git add 后,文件修改会进入暂存区。

本地仓库

本地仓库保存了你的提交历史。

执行 git commit 后,暂存区里的修改会变成一次正式提交,进入本地仓库。

远程仓库

远程仓库一般是 GitHub、GitLab、Gitee 或公司代码平台上的仓库。

执行 git push 可以把本地提交推送到远程仓库。

执行 git pull 可以把远程仓库的新内容拉到本地。

二、初始化与克隆项目

git init

git init

含义:把当前目录初始化成一个 Git 仓库。

适合自己新建项目时使用。执行后,目录里会出现一个隐藏的 .git 文件夹,Git 的版本记录就保存在这里。

git clone

git clone 仓库地址

示例:

git clone https://github.com/user/project.git

含义:从远程仓库下载一份完整项目到本地。

适合参与已有项目时使用。

三、查看当前状态

git status

git status

含义:查看当前仓库状态。

它会告诉你:

  • 哪些文件被修改了
  • 哪些文件还没有被 Git 跟踪
  • 哪些文件已经进入暂存区
  • 当前在哪个分支

这是 Git 里最常用的命令之一。每次提交前都建议先执行一次。

git diff

git diff

含义:查看工作区里还没有暂存的具体修改。

简单说,就是看你改了哪些内容,但这些内容还没有执行 git add

git diff –staged

git diff --staged

含义:查看已经暂存、准备提交的具体修改。

执行 git add 后,如果想确认即将提交的内容,可以用这个命令。

四、暂存修改

git add 文件名

git add README.md

含义:把指定文件的修改加入暂存区。

git add .

git add .

含义:把当前目录下所有修改加入暂存区。

它会暂存新增、修改和删除的文件。使用前最好先执行:

git status

确认没有把不该提交的文件也加进去。

五、提交修改

git commit

git commit -m "提交说明"

示例:

git commit -m "添加 Git 基础用法笔记"

含义:把暂存区里的内容提交到本地仓库,形成一次版本记录。

提交说明要尽量写清楚“这次改了什么”。以后查看历史时,好的提交说明会很有用。

六、查看提交历史

git log

git log

含义:查看完整提交历史。

它会显示提交 ID、作者、日期和提交说明。

git log –oneline

git log --oneline

含义:用一行显示一次提交,适合快速浏览历史。

示例输出可能是:

a1b2c3d 添加 Git 基础用法笔记
e4f5g6h 修改 footer 样式

七、远程仓库操作

git remote -v

git remote -v

含义:查看当前项目关联的远程仓库地址。

通常远程仓库默认名字叫 origin

git remote add

git remote add origin 仓库地址

示例:

git remote add origin https://github.com/user/project.git

含义:给本地仓库添加一个远程仓库地址。

git pull

git pull

含义:从远程仓库拉取最新代码,并合并到当前分支。

开始写代码前,建议先执行一次 git pull,避免本地代码落后太多。

git push

git push

含义:把本地提交推送到远程仓库。

如果是新分支第一次推送,常用:

git push -u origin 分支名

其中 -u 的作用是建立本地分支和远程分支的默认关联。之后再推送这个分支时,直接执行 git push 就可以。

八、分支操作

分支可以理解成一条独立的开发线。写新功能或修复问题时,通常会新建一个分支,避免直接影响主分支。

git branch

git branch

含义:查看本地分支列表。

当前所在分支前面会有一个 *

git branch 分支名

git branch feature-login

含义:创建一个新分支。

注意:这个命令只创建分支,不会自动切换过去。

git switch 分支名

git switch feature-login

含义:切换到指定分支。

git switch -c 分支名

git switch -c feature-login

含义:创建并切换到一个新分支。

这是日常开发里很常用的写法。

git merge

git merge feature-login

含义:把指定分支的修改合并到当前分支。

例如你当前在 main 分支,执行上面的命令,就是把 feature-login 分支合并进 main

九、撤销与恢复

撤销命令要谨慎使用。执行前最好先看一眼:

git status

git restore 文件名

git restore README.md

含义:撤销某个文件在工作区里的修改。

注意:这个操作会丢弃还没有暂存的修改。

git restore –staged 文件名

git restore --staged README.md

含义:把文件从暂存区移出来,但保留文件内容的修改。

适合执行 git add 后发现暂存错了文件。

git commit –amend

git commit --amend -m "新的提交说明"

含义:修改最近一次提交。

常见用途:

  • 修改最近一次提交说明
  • 把漏掉的文件补进最近一次提交

如果这次提交已经推送到远程仓库,要谨慎使用。

十、常用完整流程

场景一:修改已有项目并提交

git status
git diff
git add .
git status
git commit -m "说明这次修改内容"
git push

含义:

  1. 查看当前状态
  2. 查看具体修改
  3. 暂存所有修改
  4. 再次确认暂存内容
  5. 提交到本地仓库
  6. 推送到远程仓库

场景二:新建分支开发功能

git pull
git switch -c feature-demo
git add .
git commit -m "添加 demo 功能"
git push -u origin feature-demo

含义:

  1. 先同步远程最新代码
  2. 创建并切换到新分支
  3. 暂存修改
  4. 提交修改
  5. 推送新分支到远程仓库

场景三:只想看自己改了什么

git status
git diff

这是最安全的查看方式,不会改动任何文件。

十一、常见命令速查表

命令含义
git init初始化一个 Git 仓库
git clone 仓库地址克隆远程仓库到本地
git status查看当前仓库状态
git diff查看未暂存的修改
git diff --staged查看已暂存的修改
git add 文件名暂存指定文件
git add .暂存当前目录所有修改
git commit -m "说明"提交暂存区内容
git log查看提交历史
git log --oneline简洁查看提交历史
git remote -v查看远程仓库地址
git pull拉取远程更新
git push推送本地提交
git branch查看本地分支
git switch 分支名切换分支
git switch -c 分支名创建并切换分支
git merge 分支名合并分支
git restore 文件名撤销工作区修改
git restore --staged 文件名取消暂存
git commit --amend修改最近一次提交

十二、个人建议

刚开始用 Git,不需要一次记住所有命令。先熟悉这几个就够了:

git status
git diff
git add .
git commit -m "提交说明"
git pull
git push

其中最重要的是 git status。它像 Git 的仪表盘,能告诉你当前仓库处在什么状态。

养成提交前先看状态、先看 diff 的习惯,Git 用起来就会稳定很多。