Z
ZHANK
📦

Git 命令速查表

Git 常用命令、分支管理、撤销操作、远程仓库、合并与变基速查

Git 命令速查表

配置

git config --global user.name "Your Name"
git config --global user.email "email@example.com"
git config --list                    # 查看所有配置

基本操作

git init                    # 初始化仓库
git clone <url>             # 克隆仓库
git status                  # 查看状态
git add <file>              # 添加文件到暂存区
git add .                   # 添加所有文件
git commit -m "message"     # 提交
git commit -am "message"    # add + commit(已跟踪文件)
git push origin main        # 推送到远程
git pull                    # 拉取并合并
git fetch                   # 拉取不合并

分支

git branch                  # 查看分支
git branch <name>           # 创建分支
git checkout <name>         # 切换分支
git checkout -b <name>      # 创建+切换
git switch <name>           # 切换(新命令)
git switch -c <name>        # 创建+切换
git merge <branch>          # 合并分支
git branch -d <name>        # 删除分支
git push origin --delete <name>  # 删除远程分支

撤销

git checkout -- <file>           # 撤销工作区修改
git reset HEAD <file>            # 取消暂存
git reset --soft HEAD~1          # 撤销 commit,保留修改
git reset --hard HEAD~1          # 撤销 commit,丢弃修改 ⚠️
git revert <commit>              # 安全撤销(创建新 commit)
git stash                        # 暂存当前修改
git stash pop                    # 恢复暂存
git stash list                   # 查看暂存列表

查看历史

git log                         # 提交历史
git log --oneline               # 简洁历史
git log --graph --oneline       # 分支图
git log -p                      # 显示差异
git log --author="name"         # 按作者筛选
git show <commit>               # 查看某次提交
git diff                        # 工作区 vs 暂存区
git diff --staged               # 暂存区 vs 上次提交
git diff <branch1>..<branch2>   # 分支间差异
git blame <file>                # 每行谁写的

远程操作

git remote -v                           # 查看远程仓库
git remote add origin <url>             # 添加远程
git remote remove origin                # 移除远程
git push -u origin main                 # 首次推送+关联
git push --force                        # 强制推送 ⚠️
git push --force-with-lease             # 安全强制推送

合并与变基

git merge <branch>              # 合并(创建 merge commit)
git merge --no-ff <branch>      # 禁用快进合并
git rebase <branch>             # 变基
git rebase -i HEAD~3            # 交互式变基(合并/修改最近3次提交)
git cherry-pick <commit>        # 提取某个提交

标签

git tag                         # 查看标签
git tag v1.0.0                  # 创建轻量标签
git tag -a v1.0.0 -m "message"  # 创建附注标签
git push origin v1.0.0          # 推送标签
git push origin --tags          # 推送所有标签

.gitignore

# 忽略文件/目录
node_modules/
*.log
.env
dist/
.DS_Store