Git 高频操作命令大全(分类整理 + 修正说明)

一、配置操作(Config)

操作 命令
全局配置用户名/邮箱 git config --global user.name "你的名字" git config --global user.email "your@email.com"
当前仓库配置 git config --local user.name "名字" git config --local user.email "邮箱"
查看全局配置 git config --global --list
查看当前仓库配置 git config --local --list
删除全局配置项 git config --global --unset 配置项名 例:git config --global --unset user.name
删除本地仓库配置项 git config --local --unset 配置项名

💡 配置优先级:local > global > system


二、本地操作(Working Directory & Staging Area)

操作 命令
查看变更状态 git status
添加所有变更(包括新文件、修改、删除) git add -A 或 git add .(⚠️ . 不包含 .gitignore 外的删除)
添加指定文件 git add file1 file2
比较工作区 vs 暂存区 git diff
比较某文件工作区 vs 暂存区 git diff 文件名
比较暂存区 vs HEAD git diff --cached(或 --staged)
比较某文件暂存区 vs HEAD git diff --cached 文件名
比较工作区 vs HEAD git diff HEAD 文件名
创建提交 git commit -m "提交信息"
撤销工作区修改(恢复为暂存区版本) git checkout -- 文件名(⚠️ 新版推荐 git restore 文件名)
撤销暂存区(恢复为 HEAD 版本) git reset HEAD 文件名
彻底重置工作区和暂存区为 HEAD git reset --hard(⚠️ 危险!会丢失未提交更改)
可视化比较两个提交 git difftool <commit1> <commit2>(需配置 difftool)
查看未被追踪的文件 git ls-files --others --exclude-standard
临时保存工作进度 git stash
恢复最近一次 stash(并删除) git stash pop
恢复 stash(保留记录) git stash apply
查看所有 stash git stash list
恢复指定 stash git stash pop stash@{n}(n 从 0 开始)
修改最后一次提交(含新增文件) bash<br>git add .<br>git commit --amend --no-edit<br>

🔧 注意:

  • git checkout 文件 在新版 Git 中已被 git restore 替代(更语义化)
  • git add . 和 git add -A 在根目录下效果相同;但在子目录中,. 不会跟踪父目录的删除

三、分支操作(Branch)

操作 命令
查看本地分支(含最新 commit) git branch -v
查看所有分支(本地+远程) git branch -av
仅查看远程分支 git branch -rv
切换分支 git checkout 分支名(或 git switch 分支名)
创建新分支(基于当前 HEAD) git branch 新分支名
基于指定分支创建 git branch 新分支 指定分支
基于某个 commit 创建 git branch 新分支 <commit-id>
创建并切换 git checkout -b 新分支(或 git switch -c 新分支)
安全删除已合并分支 git branch -d 分支名
强制删除(未合并也可删) git branch -D 分支名
删除已合并到 master 的本地分支 `bash
git branch --merged master
清理已不存在的远程分支引用 git remote prune origin(⚠️ 你原文写成了 orign,已修正)
合并 A 到当前分支 git merge A分支
合并 A 到 B(需先切到 B) ❌ git merge A B 语法错误! ✅ 正确做法: bash<br>git checkout B分支<br>git merge A分支<br>
将当前分支 rebase 到 B git rebase B分支
将 A 分支 rebase 到 B git rebase B分支 A分支(执行后 A 分支指针更新)

⚠️ 重要修正 :
git merge A B 是非法命令!Git 的 merge 只能将其他分支合并到当前分支。


四、变更历史(Log & Blame)

操作 命令
单行显示 commit git log --oneline
显示最近 n 条记录 git log -n(如 git log -5)
图形化显示所有分支历史 git log --oneline --graph --all
查看某文件的提交历史 git log 文件名
查看每行最后修改者 git blame 文件名

五、标签操作(Tag)

操作 命令
列出所有标签 git tag
创建轻量标签 git tag v1.0
创建带注释标签 git tag -a v1.0 -m "发布 v1.0"
给指定 commit 打标签 git tag v1.0 <commit-id>
推送单个标签 git push origin v1.0
推送所有未推送标签 git push origin --tags
删除本地标签 git tag -d v1.0
删除远程标签 git push origin :refs/tags/v1.0 或(新版)git push origin --delete v1.0

六、远程仓库交互(Remote)

操作 命令
查看远程仓库 git remote -v
添加远程仓库 git remote add <名称> <URL> 例:git remote add origin https://...
删除远程仓库配置 git remote remove <名称>
重命名远程仓库 git remote rename 旧名 新名
获取远程所有更新(不合并) git fetch origin
拉取并自动合并 git pull origin 分支名(= fetch + merge)
推送本地分支 git push origin 分支名
删除远程分支 bash<br>git push origin --delete 分支名<br># 或<br>git push origin :分支名<br>

✅ 补充建议

1. 现代 Git 推荐命令

  • 用 git switch 替代 git checkout(切换分支)
  • 用 git restore 替代 git checkout -- file(撤销文件修改)

2. 安全提示

  • git reset --hard 会永久丢失未提交代码!
  • git push --force 会覆盖远程历史,慎用!可用 --force-with-lease 更安全

3. 常用组合技巧

复制代码
# 查看某次提交改了哪些文件
git show --name-only <commit>

# 撤销某次提交(生成反向提交)
git revert <commit>

# 临时忽略某文件(不提交 .env 等)
echo ".env" >> .gitignore
相关推荐
W***25923 小时前
2026 企业 AI 办公工具选型指南:可完成端到端任务的平台怎么评估
大数据·人工智能
龙亘川5 小时前
数字化赋能基层协同治理:亘川智城一网统管平台落地实践思考
大数据·人工智能·智慧城市·开源软件·数据可视化
可乐ea6 小时前
AI Agent 工具调用准确性评测:选择错误与参数错误分开测
大数据·人工智能·算法·大模型·工具调用·ai智能体·agent评测
数智顾问6 小时前
(90页PPT)IBM集团管理驾驶舱项目蓝图规划(附下载方式)
大数据·人工智能·物联网
老李IT笔记6 小时前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
西木莉6 小时前
大数据安全挑战升级:从隐私保护到信任构建
大数据
wtblszn6 小时前
空压机在线监测物联网方案
大数据·运维·物联网·自动化·能源
Joecien7 小时前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
IT古董7 小时前
《FDE前沿部署工程师实战教程》29 - Enterprise AI Security:Agent安全体系设计
大数据·数据库·人工智能
喆星时瑜7 小时前
RStudio 数据清洗案例教程
大数据·数据库