很多人对 Git 的第一印象是“命令多、容易出错”,但真正进入日常开发后,常用的往往就是那几组核心操作。本文按实际工作场景重新整理这些命令:先说明版本控制到底解决什么问题,再依次覆盖配置、仓库初始化、提交与同步、历史查看、分支和标签管理,帮助你判断每条命令该在什么时候用。
版本控制到底在解决什么问题
如果把 Git 只理解成“提交代码的工具”,很容易在实际使用时只会机械地执行 add、commit、push。但它的核心作用其实是记录文件变化历史,并允许你回看、比对、切换到某个历史状态。
这意味着,项目里的代码不是只有“当前这一份”。每一次提交、修改、回退,都会留下可追踪的记录。也正因为如此,团队协作时才有了合并、分支、回滚这些操作基础。
对一般开发者来说,不需要一开始就把 Git 的全部概念学完。先掌握一套稳定的常用命令,已经足够覆盖绝大多数工作场景。
先完成配置,再准备本地或远程仓库
查看当前 Git 配置
开始使用前,可以先检查 Git 的配置项,确认当前环境里已经设置了哪些信息。

git config --list
如果只想看全局配置,可以使用:
git config --global --list
设置用户名和邮箱
用户名和邮箱会出现在提交记录中。通常个人电脑会先配置全局信息,如果某个项目需要单独身份,再在当前仓库内覆盖即可。

# 全局配置
git config --global user.name 'xxxxxx'
git config --global user.email 'xxxxx@xxx.com'
# 当前项目配置
git config user.name 'xxxxxx'
git config user.email 'xxxxx@xxx.com'
初始化仓库与关联远程地址
如果你是在一个已有项目目录里开始接入 Git,先在本地初始化仓库:
git init
初始化完成后,如果还需要把它和远程仓库关联起来,可以执行:
git remote add origin git@github.com:xxx/xxx.git
如果远程仓库已经存在,本地最省事的方式则是直接克隆:
git clone git@github.com:xxx/xxx.git
这几条命令对应的是两种常见起点:一种是“本地已有代码,后来才纳入 Git 管理”,另一种是“远程仓库已经建好,本地直接拉一份下来继续开发”。
日常开发最常用:查看状态、拉取、提交、推送
先看状态,再决定下一步
在提交前,最值得养成的习惯是先看当前仓库状态。这样能快速确认哪些文件已修改、哪些还未暂存、当前是否处在一个干净工作区。
git status
拉取最新版本
多人协作时,开始编码前或准备推送前,通常都应先同步远程最新内容:
git pull
这样做的目的很直接:避免本地代码和远程主线差得太远,减少后续冲突集中爆发的概率。
提交本地修改
完成开发后,可以把修改加入暂存区并生成一次提交。原文里给出的,是最常见的一组连续操作:
# 提交所有修改
git add .
git commit -m "fix: 本次修改的说明"
其中 git commit -m 后面的说明建议写清楚本次修改的目的。哪怕只是一个小修复,后续排查问题时,这条信息也会非常有价值。
把本地提交推送到远程
本地提交完成后,再将提交记录同步到远程仓库:
git push
这一组流程可以简单记成:status 看状态,pull 先同步,add + commit 生成提交,最后 push 上传远程。对于大多数日常开发,这已经是使用频率最高的一条主线。
需要排查和协作时,重点看日志与分支
查看提交历史
当你想知道“这段代码是谁改的”“某次修改是什么时候进入仓库的”,最先用到的就是日志命令:
git log
它会展示提交历史,是日常排查问题时非常高频的入口。
为什么还要看 reflog
如果只是看普通提交历史不够,还可以进一步查看引用变动记录:
git reflog
它能看到更完整的历史轨迹,包括修改、删除、回滚等操作留下的记录。也正因如此,很多时候即使你觉得代码“没了”“被覆盖了”,仍然可以通过 reflog 找回线索。
分支查看、切换与创建
分支是 Git 协作中的基本能力。先查看当前仓库有哪些分支:
git branch -a
切换到指定分支:
git checkout 分支名称
如果要从当前版本创建一个新分支并立即切换过去:
# 基于当前版本创建新分支
git checkout -b 新分支名称
这类操作最常见于新功能开发、问题修复或多人并行协作时,把不同工作隔离在不同分支里进行。
删除与合并分支
分支任务结束后,往往还会涉及清理和合并。
# 删除本地分支,-D表示强制删除
git branch -d 要删除的分支名
# 删除远程仓库的分支
git push origin --delelte 要删除的分支名
如果需要把某个分支并入当前分支,例如把 develop 合并进当前工作分支,可以使用:
# 将develop分支合并到当前分支
git merge develop
分支相关命令本身不复杂,关键在于你要清楚“我现在站在哪个分支上”“准备把谁合并到谁”。这比死记命令更重要。
发布节点管理:标签怎么用
除了提交和分支,标签通常用来标记某个明确版本节点,比如一次上线版本或某次里程碑发布。
查看与创建标签
git tag -l
如果要创建一个版本号为 v1.0.0 的标签:
# 创建一个v1.0.0的tag
git tag v1.0.0
删除标签
标签建错了或者不再需要时,也可以删除本地和远程标签:
# 删除本地tag
git tag -d v1.0.0
# 删除远程的tag
git push origin :refs/tags/v1.0.0
日常够用的 Git 命令清单
如果你现在还没有系统学过 Git,也不用把它想得太重。对多数开发工作来说,先掌握配置、初始化、同步提交、日志查看、分支切换和标签管理这几部分,已经能覆盖绝大多数日常需求。
当然,Git 远不止这些。像 git revert、git reset、git rebase 等命令,在需要回退、整理提交历史或处理更复杂协作流程时也会出现。但在入门阶段,先把本文这一套用熟,往往比一口气背下所有命令更有效。









