⚙️ 配置
git config --global user.name "name"
设置全局用户名
git config --global user.email "email"
设置全局邮箱
git config --global core.autocrlf input
提交时 LF 换行,防止 CRLF 警告
git config --global init.defaultBranch main
默认分支名改为 main
git config --global alias.co checkout
配置别名 co 代替 checkout
git config --list
查看所有配置
📝 提交
git status
查看工作区状态
git add -A
添加所有改动到暂存区
git commit -m "msg"
提交并写注释
git commit --amend -m "msg"
修改最近一次提交信息
git commit -am "msg"
跳过 add 直接提交已跟踪文件
git log --oneline --graph --decorate
图形化查看提交历史
git show <hash>
查看某次提交的改动
git diff
查看未暂存的改动
git diff --cached
查看已暂存的改动
🌿 分支
git branch
列出本地分支
git branch <name>
创建分支
git checkout -b <name>
创建并切换分支
git switch <name>
切换分支(Git 2.23+)
git branch -d <name>
删除已合并的分支
git branch -D <name>
强制删除分支
git branch --merged
查看已合并到当前的分支
🌐 远程
git remote -v
查看远程仓库地址
git remote add origin <url>
添加远程仓库
git push -u origin main
推送并设置上游分支
git push
推送到远程
git pull
拉取并合并
git fetch --all
获取所有远程更新但不合并
git push origin --delete <branch>
删除远程分支
↩️ 撤销 / 回滚
git restore <file>
丢弃工作区某个文件的改动
git restore --staged <file>
取消暂存(暂存区撤回工作区)
git checkout -- <file>
丢弃工作区改动(旧写法)
git reset --soft HEAD~1
撤销提交但保留改动(回到暂存区)
git reset HEAD~1
撤销提交,改动回工作区
git reset --hard HEAD~1
彻底回滚,丢弃所有改动(慎用!)
git revert <hash>
新增一次反向提交来撤销,最安全
git clean -fd
删除所有未跟踪的文件
🔀 合并 / 变基
git merge <branch>
合并分支到当前分支
git merge --abort
冲突时放弃合并
git rebase main
变基到 main 最新提交
git rebase -i HEAD~3
交互式整理最近 3 个提交
git cherry-pick <hash>
把某个提交复制到当前分支
🏷️ 标签
git tag
列出所有标签
git tag v1.0.0
创建轻量标签
git tag -a v1.0.0 -m "release"
创建附注标签
git push origin --tags
推送所有标签
git tag -d v1.0.0
删除本地标签
📦 储藏
git stash
暂存工作区改动
git stash list
查看储藏列表
git stash pop
恢复并删除最近储藏
git stash apply
恢复但不删除储藏
git stash drop
丢弃最近储藏
🚀 进阶技巧
git log --all --grep="keyword"
按提交信息搜索提交
git blame <file>
查看每行代码最后修改人
git bisect start
二分法定位出问题的提交
git reflog
找回被 reset 掉的提交(救命命令)
git submodule add <url>
添加子模块
git lfs track "*.zip"
用 Git LFS 管理大文件
程序员
完全免费
📥 下载离线版
🌙 支持黑夜模式
把高频 Git 命令按场景分类整理成速查卡:配置、提交、分支、远程、撤销回滚、合并、标签、储藏、进阶技巧,支持关键字搜索与分类切换,点「复制」直接带走命令。