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 -Agit 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
相关推荐
狒狒热知识1 天前
AI赋能下企业新闻内容优化178软文网赋能权威资讯形成持续积累效应
大数据
盘古信息IMS1 天前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造
论文小助手W6851 天前
【ACM出版,EI检索】2026年人工智能与智慧城市国际学术会议(IC-AISC 2026)
大数据·人工智能·全文检索·智慧城市·交通物流
盖小雅1 天前
自动化排班如何破解劳动法合规难题:从规则冲突到可追溯的排班表
大数据·运维·机器学习·自动化
Bechamz1 天前
大数据开发学习Day43
大数据·学习
Ws_1 天前
Git + Gerrit 第二课:diff、暂存区与撤销修改
git
五度易链-区域产业数字化管理平台1 天前
大数据驱动智慧招商:五度易链园区数字化解决方案
大数据
snowjlz1 天前
鸿蒙版SVN来了!!!
git·svn·版本控制
心疼你的一切1 天前
高效内容生产:如何实现规模化创作
大数据·人工智能·ai·ai编程·ai写作
imbackneverdie1 天前
深耕医学科研智能化十年,MedPeer打造新一代AI生物医学科研操作系统
大数据·人工智能·ai·信息可视化·数据分析·aigc·科研