Git 命令速查
Git 日常开发常用命令速查,支持搜索和一键复制
配置(4)
设置用户名
设置全局 Git 用户名
git config --global user.name "Your Name"设置邮箱
设置全局 Git 邮箱
git config --global user.email "you@example.com"查看配置
查看当前 Git 配置
git config --list设置默认编辑器
设置 commit message 编辑器
git config --global core.editor "code --wait"创建仓库(3)
初始化仓库
在当前目录创建 Git 仓库
git init克隆远程仓库
克隆一个远程仓库到本地
git clone https://github.com/user/repo.git克隆指定分支
克隆并切换到指定分支
git clone -b develop https://github.com/user/repo.git基本操作(5)
查看状态
查看工作区和暂存区状态
git status添加文件
将文件添加到暂存区
# 添加单个文件
git add file.txt
# 添加所有修改
git add .
# 添加所有 .js 文件
git add *.js提交更改
将暂存区内容提交到仓库
git commit -m "feat: add new feature"添加并提交
跳过 add,直接提交已跟踪文件的修改
git commit -am "fix: quick fix"查看差异
查看文件修改内容
# 工作区与暂存区的差异
git diff
# 暂存区与上次提交的差异
git diff --staged
# 两个分支的差异
git diff main..develop分支管理(7)
查看分支
查看本地和远程分支
# 本地分支
git branch
# 所有分支(含远程)
git branch -a
# 查看分支详情
git branch -v创建分支
创建新分支
git branch feature/login切换分支
切换到指定分支
git checkout develop
# 或(推荐)
git switch develop创建并切换
创建新分支并立即切换
git checkout -b feature/login
# 或
git switch -c feature/login合并分支
将指定分支合并到当前分支
# 先切到目标分支
git switch main
# 合并 feature 分支
git merge feature/login删除分支
删除已合并的分支
# 删除本地分支
git branch -d feature/login
# 强制删除
git branch -D feature/login
# 删除远程分支
git push origin --delete feature/login变基 Rebase
将当前分支变基到目标分支
git rebase main远程操作(4)
添加远程仓库
关联远程仓库地址
git remote add origin https://github.com/user/repo.git查看远程仓库
查看已关联的远程仓库
git remote -v推送到远程
将本地提交推送到远程
# 推送当前分支
git push
# 首次推送并设置上游
git push -u origin main拉取远程更新
拉取并合并远程更新
# 拉取并合并
git pull
# 拉取但不合并
git fetch
# 拉取指定分支
git pull origin develop撤销与回退(5)
撤销工作区修改
恢复文件到上次提交的状态
git checkout -- file.txt
# 或
git restore file.txt取消暂存
将文件从暂存区移除
git reset HEAD file.txt
# 或
git restore --staged file.txt修改上次提交
修改最近一次 commit 的信息或内容
git commit --amend -m "new message"回退到指定提交
将 HEAD 移回到指定 commit
# 保留修改(默认)
git reset --soft HEAD~1
# 保留工作区
git reset --mixed HEAD~1
# 丢弃所有修改
git reset --hard HEAD~1创建反向提交
生成一个撤销指定 commit 的新提交
git revert abc1234暂存(4)
暂存当前修改
将未提交的修改临时保存
git stash暂存并命名
保存并给一个描述
git stash save "work in progress"查看暂存列表
查看所有暂存的修改
git stash list恢复暂存
恢复最近一次暂存的修改
# 恢复并保留暂存记录
git stash apply
# 恢复并删除暂存记录
git stash pop标签(3)
创建标签
为当前提交打标签
# 轻量标签
git tag v1.0.0
# 附注标签
git tag -a v1.0.0 -m "Release 1.0.0"推送标签
将标签推送到远程
# 推送单个标签
git push origin v1.0.0
# 推送所有标签
git push origin --tags查看标签
列出所有标签
git tag查看信息(4)
查看提交日志
查看 commit 历史
# 简洁模式
git log --oneline
# 图形模式
git log --oneline --graph --all
# 最近 5 条
git log -5查看文件修改历史
查看单个文件的提交历史
git log --follow -p file.txt查看某次提交
查看指定 commit 的详细信息
git show abc1234查看每行作者
查看文件每一行的最后修改人
git blame file.txt高级操作(4)
Cherry-pick
将指定 commit 应用到当前分支
git cherry-pick abc1234交互式 Rebase
合并/编辑/重排最近 N 个提交
git rebase -i HEAD~3清理未跟踪文件
删除工作区中未跟踪的文件
# 预览
git clean -nd
# 执行
git clean -fd二分查找 Bug
用二分法定位引入 Bug 的提交
git bisect start
git bisect bad # 当前有bug
git bisect good v1.0.0 # 这个版本没bug
# Git 会自动切换版本,测试后标记 good/bad
git bisect reset # 结束