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
相关推荐
chatexcel2 小时前
ChatExcel亮相GTC2025全球流量大会
大数据·人工智能
KANGBboy2 小时前
ES 生产排查
大数据·elasticsearch·搜索引擎
幂律智能2 小时前
能源企业合同管理数智化转型解决方案
大数据·人工智能·能源
onebound_noah4 小时前
电商图片搜索:技术破局与商业落地,重构“视觉到交易”全链路
大数据·前端·网络·人工智能·重构·php
目南殇5 小时前
Git 命令基础使用指南:从初始化到提交的完整流程
git
crossoverJie5 小时前
Git cherry-pick 使用小技巧
git·github
、shadow5 小时前
切换GIT账号
git
n***63276 小时前
Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
大数据·python·信息可视化
Michelle80236 小时前
24大数据 while循环
大数据·python