日常常用的 Git 指令清单,按实际使用场景分类,适合在提交代码、查看状态、回退误操作时快速查阅。
参考:Git 官方文档与命令手册
git-scm.com/docs GIT CHEAT SHEET
初始化与获取项目
| 指令 | 用途 |
|---|---|
git init |
创建一个新的 Git 仓库,或重新初始化当前目录中的仓库。 |
git clone <仓库地址> |
把远程仓库克隆到本地新目录。 |
git clone <仓库地址> <目录名> |
克隆仓库并指定本地目录名。 |
首次配置
| 指令 | 用途 |
|---|---|
git config --global user.name "你的名字" |
配置全局提交用户名。 |
git config --global user.email "你的邮箱" |
配置全局提交邮箱。 |
git config --list |
查看当前 Git 配置。 |
暂存与提交
| 指令 | 用途 |
|---|---|
git add <文件名> |
只把指定文件加入暂存区,适合精确控制本次提交内容。 |
git add . |
把当前目录及其子目录里的变更统一加入暂存区。 |
git add -A |
把新增、修改、删除的全部变更一次性加入暂存区。 |
git add -u |
只更新已跟踪文件的修改和删除,不添加新文件。 |
git add -p |
按修改块交互式选择要暂存的内容。 |
git commit -m "提交说明" |
生成一次提交,并用一句话写清本次修改的目的。 |
git commit -a -m "提交说明" |
自动提交已跟踪文件的修改和删除,适合快速提交。 |
git commit --amend |
修改最近一次提交,常用于补漏文件或修正文案。 |
查看当前状态
| 指令 | 用途 |
|---|---|
git status |
查看当前有哪些文件被修改、暂存或未跟踪。 |
git diff |
查看工作区相对暂存区的具体改动内容。 |
git diff --cached |
查看已经暂存、但还没提交的改动内容。 |
git log --oneline |
用精简格式查看提交历史,方便快速定位版本。 |
git show <提交号> |
查看某一次提交具体改了什么。 |
分支切换与协作
| 指令 | 用途 |
|---|---|
git branch |
查看本地分支列表,并标出当前所在分支。 |
git branch <分支名> |
新建一个本地分支,但不自动切换过去。 |
git switch <分支名> |
切换到已有分支,适合日常开发使用。 |
git switch -c <分支名> |
新建并切换到新分支,一步完成。 |
git merge <分支名> |
把指定分支的改动合并到当前分支。 |
git rebase <分支名> |
让当前分支基于目标分支最新提交重新排列历史。 |
同步远程仓库
| 指令 | 用途 |
|---|---|
git remote -v |
查看当前仓库绑定了哪些远程地址。 |
git pull |
拉取远程最新代码并自动合并到当前分支。 |
git fetch |
只获取远程最新提交,不立即合并到本地。 |
git push |
把当前分支提交推送到远程仓库。 |
git push -u origin <分支名> |
首次推送分支并建立本地与远程分支的跟踪关系。 |
撤销与恢复
| 指令 | 用途 |
|---|---|
git restore <文件名> |
丢弃工作区中某个文件未暂存的修改。 |
git restore --staged <文件名> |
把某个文件从暂存区撤回到工作区。 |
git reset --soft HEAD~1 |
撤回最近一次提交,但保留暂存区内容。 |
git reset --mixed HEAD~1 |
撤回最近一次提交,并把改动退回工作区。 |
git revert <提交号> |
用一条新提交撤销旧提交,适合已经推送后的回退。 |
删除与重命名
| 指令 | 用途 |
|---|---|
git rm <文件名> |
删除文件,并把这次删除加入暂存区。 |
git rm --cached <文件名> |
只把文件从 Git 跟踪中移除,但保留本地文件。 |
git mv <旧文件名> <新文件名> |
移动或重命名文件,并更新索引。 |
临时保存现场
| 指令 | 用途 |
|---|---|
git stash |
临时保存当前未提交修改,方便先切分支处理别的任务。 |
git stash list |
查看已经保存了哪些临时现场。 |
git stash pop |
恢复最近一次保存的现场,并从列表中移除。 |
git stash apply |
恢复某次保存的现场,但保留 stash 记录。 |
常用 Git 工作流程
日常提交代码
git status
git add .
git commit -m "本次修改说明"
git push
作用:先确认改动,再暂存、提交,最后推送到远程仓库。
第一次拉取项目开始开发
git clone <仓库地址>
cd <项目目录>
git switch -c feature/my-work
git add .
git commit -m "开始开发"
git push -u origin feature/my-work
作用:先克隆项目,再切出自己的分支开始开发,并在首次推送时建立跟踪关系。
只提交指定文件
git status
git add src/app.js
git add src/utils.js
git commit -m "修复首页交互问题"
git push
作用:只提交本次真正相关的文件,避免把无关修改一起推上去。
新分支首次提交并推送
git switch -c feature/login-page
git add .
git commit -m "新增登录页"
git push -u origin feature/login-page
作用:新建分支开发功能,并在首次推送时建立本地与远程分支的跟踪关系。
先拉最新代码再继续提交
git pull
git status
git add .
git commit -m "同步后继续完善功能"
git push
作用:先同步远程最新代码,减少提交后再处理冲突的概率。
已跟踪文件快速提交
git status
git commit -a -m "更新已跟踪文件"
git push
作用:适合只修改了已有文件、没有新增文件时快速提交。新增文件仍然需要先 git add。
提交后发现漏了文件
git add .
git commit --amend
git push --force-with-lease
作用:补充最近一次提交内容。只适合你确认是在修改自己刚刚的提交历史时使用。
常见使用建议
- 小改动用
git add <文件名>,能避免把不相关内容一起提交。 - 提交前先跑一次
git status,通常能减少低级错误。 - 已经推送到远程后的回退,优先考虑
git revert,比强改历史更稳妥。
