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
相关推荐
阿里云大数据AI技术1 小时前
云栖实录|Hologres 5.0全新发布:Agent Native 的全模态实时数仓
大数据·人工智能·agent
小天源1 小时前
品牌 AI 智能监测与自动化采集系统
大数据·人工智能·自动化
SelectDB2 小时前
从实时入库到实时可用:Apache Doris 5.0 增量计算场景与实践
大数据·数据库·开源
xiaoyunxuexibiji2 小时前
企业电子招投标如何实现全流程线上管理?从招标立项到评标定标
大数据·人工智能
汇像AI无人实验室2 小时前
植物合成生物学迎来爆发期:如何用自动化重塑基因元件筛选?
大数据·人工智能·自动化
千桐科技3 小时前
大模型落地不“纸上谈兵”:qKnow专业版用原生MCP为AI装上“手脚”
大数据·人工智能·qknow
小天源3 小时前
智叟云集系统适用场景与业务实践
大数据·人工智能
考拉讲支付3 小时前
分账系统怎么对接?从零搭建平台分账体系的完整技术指南
大数据
财税数字化3 小时前
日韩泰票据与欧美发票混合入账怎么选?开灵科技与海外厂商优劣势对比
大数据·人工智能·科技·ocr·软件选型·票据识别
数字新视界4 小时前
信创机房动环监控的核心功能与智能运维管理实践
大数据·物联网·信息可视化·信息与通信·一体化机柜