1728 字
9 分钟
Git常用命令清单

简介#

Git 是一个分布式版本控制系统 (Distributed Version Control System, DVCS)

简单来说,它的核心作用是:

追踪文件(比如代码)的修改历史,记录每一次改动的内容、作者、时间;

方便多人协作开发,避免代码冲突;

可以随时回滚到历史版本,不怕改坏代码;

每个人的本地仓库都有完整的版本历史,不依赖中央服务器(比如 GitHub/Gitee)也能工作。

对比你可能听过的 “手动复制文件改名字(如 v1.0、v1.1)” 的方式,Git 能高效、规范地管理版本,是程序员必备的工具。

Git 的核心概念:

先理解几个关键术语,后续操作会更清晰:

仓库 (Repository):#

存放项目文件和版本记录的文件夹,分为「本地仓库」(你电脑上的)和「远程仓库」(如 GitHub/Gitee 上的)。

工作区 (Working Directory):#

你实际编辑代码的文件夹,就是仓库里能直接看到、修改的文件。

暂存区 (Staging Area/Index):#

临时存放待提交的修改,相当于 “提交前的缓冲区”,可以理解为 “准备要保存的改动清单”。

提交 (Commit):#

把暂存区的改动正式保存到本地仓库,生成一个唯一的版本号(哈希值),每一次提交都是一个可追溯的版本。

分支 (Branch):#

可以把分支理解为 “平行宇宙”,比如主分支(master/main)是正式版本,你可以新建分支(如 dev、feature)开发新功能,开发完成后再合并回主分支,避免直接修改主分支代码。

远程仓库 (Remote):#

托管在网络上的仓库(如 GitHub、Gitee、GitLab),用于同步本地仓库和多人协作。

常用命令清单#

绑定 GitHub/Gitee 账户#

git config --global user.name "账户名"
git config --global user.email "邮箱"

生成公钥:

ssh-keygen -t rsa -C "邮箱"

复制公钥:

cat ~/.ssh/id_rsa.pub

绑定 GitHub/Gitee 远程仓库#

关联远程仓库

git remote add origin 你的远程仓库地址

验证关联

git remote -v

首次推送并绑定分支(main为分支名)

git push -u origin main

(若报错)解决分支名不一致

git branch -M main

仓库基础操作#

在当前文件夹初始化本地 Git 仓库(生成隐藏.git 文件夹,项目首次初始化用)

git init

克隆远程仓库到本地

git clone <远程仓库地址>

状态 / 历史查看#

查看工作区 / 暂存区状态(必用!看哪些文件修改、未跟踪、已暂存,排查问题首选)

git status

查看详细提交历史(含版本号、作者、时间、提交说明,按时间倒序)

git log

简化版提交历史(仅显示版本号前 7 位 + 提交说明,日常快速查看足够)

git log --oneline

查看所有 Git 操作记录(含回滚、分支切换,误删 / 误回滚时可通过这个恢复版本,救命命令)

git reflog

文件暂存操作#

将指定单个文件添加到暂存区(如 git add README.md,精准暂存)

git add <文件名>

将当前目录所有修改 / 新增文件添加到暂存区(日常开发最常用,一键暂存)

git add .

仅暂存已跟踪文件的修改 / 删除(不包含新增文件,适合只更新旧文件时用)

git add -u

本地提交操作#

将暂存区改动提交到本地仓库(-m 后必须写说明,如 git commit -m “修复登录按钮样式bug”)

git commit -m "提交说明"

修正最后一次提交(补全提交说明、补充漏暂存的文件,仅本地未推送时用,别改已推远程的提交)

git commit --amend

代码推送 / 拉取#

将本地分支最新提交推送到远程对应分支(已设默认远程分支后,无需写 origin <分支名>)

git push

首次推送分支到远程(-u 绑定本地与远程分支,后续直接用 git push 即可)

git push -u origin <分支名>

拉取远程分支最新代码并自动合并到本地当前分支(协作开发必用,先拉再推避免冲突)

git pull

拉取远程所有更新(只下载不合并,适合先查看远程改动,再手动合并,更安全)

git fetch

分支核心操作#

查看本地所有分支(* 标注当前所在分支,一目了然)

git branch

新建本地分支(如 git branch dev,仅创建不切换)

git branch <分支名>

切换到指定分支(如 git checkout main)

git checkout <分支名>

新建并直接切换到该分支(日常开发最常用,如 git checkout -b feature/pay)

git checkout -b <分支名>

将指定分支的代码合并到当前分支(如切回 main 后,git merge dev 合并开发分支代码)

git merge <分支名>

删除本地已合并的分支(安全删除,未合并会提示报错)

git branch -d <分支名>

强制删除本地分支(无视是否合并,误建 / 废弃分支时用,谨慎操作)

git branch -D <分支名>

撤销 / 回滚操作#

撤销工作区未暂存的修改(Git2.23 + 支持,恢复文件到上一次暂存 / 提交状态,不影响暂存区)

git restore <文件名>

将暂存区的文件撤回工作区(取消 git add 操作,比如暂存错文件时用)

git restore --staged <文件名>

回滚到指定版本(保留工作区 + 暂存区改动,仅撤销提交记录,适合改提交说明 / 合并多次提交)

git reset --soft <版本号>

回滚到指定版本(清空工作区 + 暂存区所有改动,恢复到历史纯净状态,谨慎使用!)

git reset --hard <版本号>

单独恢复某个文件到历史版本(不影响其他文件,比整版回滚更灵活)

git checkout <版本号> <文件名>

文件删除 / 忽略#

删除本地文件并将删除操作添加到暂存区(需后续 commit 提交生效)

git rm <文件名>

从 Git 跟踪中移除文件(保留本地文件,仅让 Git 不再管理,适合误添加的配置文件 / 日志)

git rm --cached <文件名>

并非命令,是 Git 忽略配置文件(在仓库根目录创建,写入无需跟踪的文件 / 文件夹,如 node_modules/、*.log)

.gitignore 文件

Tips#

新手必记「核心开发流程命令」(按顺序用,不会错)#

提示

本地开发 → 推送到远程:git status(查状态)→ git add .(暂存所有修改)→ git commit -m “说明”(本地提交)→ git pull(先拉远程最新,避冲突)→ git push(推送到远程)

关键提醒#

注意!

版本号可通过 git log —oneline 获取(前 7 位即可,如 a1b2c3d);

多人协作优先用「分支开发」,别直接改 main/master 分支;

git reset —hard 和 git branch -D 是高危命令,操作前务必确认!

Git常用命令清单
https://www.131124.xyz/posts/git/git/
作者
IKUN_3058
发布于
2026-01-07
许可协议
CC BY-NC-SA 4.0