Git 命令
Git 常用命令速查,分支/合并/暂存/回退,一键复制
共 41 个脚本
初始化本地仓库
在当前目录创建一个空的 Git 仓库,生成 .git 目录并开始版本管理。
克隆远程仓库
将远程仓库完整克隆到本地,默认会创建 origin 远程引用并检出默认分支。
查看工作区状态
显示当前分支、暂存区与工作区的变更概览,以及与远程分支的差异。
添加文件到暂存区
将修改后的文件加入暂存区,准备提交。可指定文件,也可一次添加全部。
提交暂存区变更
将暂存区的内容提交为一个新版本快照,并附带提交说明。
查看提交历史
以图形化、紧凑格式查看提交历史,包含分支合并情况。
查看文件差异
查看工作区与暂存区、或两次提交之间的差异内容。
查看某次提交详情
显示指定提交的元信息与变更内容(patch 格式)。
查看与创建分支
列出本地/远程分支,或基于当前 HEAD 创建新分支。
删除分支
删除本地或远程分支。安全删除(-d)会拒绝删除未合并的分支。
切换分支
在新版 Git 中推荐使用 switch 切换分支,比 checkout 语义更清晰。
合并分支
将指定分支合并到当前分支。默认使用快进(fast-forward)合并。
变基到目标分支
将当前分支的提交重新应用到目标分支顶端,保持线性历史。已推送的分支慎用。
挑选提交合入
把其他分支上的某个(或多个)提交原样应用到当前分支,常用于 hotfix 回移。
重命名分支
重命名当前分支或指定分支,并同步更新远程分支名。
管理远程仓库
查看、添加、修改或删除远程仓库地址。
拉取远程更新(不合并)
从远程下载最新数据到本地引用,但不修改工作区,安全无冲突风险。
拉取并合并远程更新
相当于 fetch + merge。建议使用 rebase 模式保持历史线性。
推送本地提交到远程
将本地分支提交推送到远程分支,并可在首次推送时建立跟踪关系。
设置上游跟踪分支
为本地分支指定对应的远程分支,之后 git push / pull 无需再写参数。
暂存当前工作区
将未提交的修改临时保存起来,让工作区恢复干净,方便切换分支。
恢复文件到指定状态
新版 Git 推荐用 restore 替代 checkout 进行文件还原,语义更清晰。
重置 HEAD 到指定提交
移动 HEAD 指针到目标提交。soft 保留变更,hard 会直接丢弃工作区改动。
用新提交撤销旧提交
生成一个反向提交来抵消指定提交的影响,不破坏历史,适合已推送的提交。
查看操作记录找回误删
记录 HEAD 的所有移动(含 reset、rebase、删除分支等),是误操作的救命稻草。
清理未跟踪文件
删除未被 Git 跟踪的文件或目录,常用于清理构建产物。
创建标签
为发布版本打标签。附注标签(-a)会记录创建者、邮箱、时间与说明。
推送与删除标签
标签默认不会被 push 推送,需要显式推送。删除时本地与远程需分别处理。
用标签描述当前位置
输出离当前提交最近的标签及之后的提交数,常用于自动生成版本号。
交互式 rebase 压缩提交
将最近 3 个提交压缩(squash)为一个,进入交互式编辑器选择操作。
二分查找引入 Bug 的提交
在好坏提交之间二分定位首个引入问题的提交,排查回归 Bug 利器。
多工作树并行开发
在不切换分支、不克隆多份的情况下,让同一仓库的不同分支同时检出在多个目录。
管理子模块
在一个仓库中嵌套引用另一个仓库,常用于共享公共库。
配置用户信息与全局设置
设置提交时使用的用户名和邮箱。--global 写入用户级配置,去掉则为仓库级。
配置命令别名
为常用命令设置短别名,提升日常使用效率。可写在 --global 全局配置中。
查看每行代码的最后修改者
逐行显示文件的最后修改提交、作者与时间,定位问题代码归属。
导出干净的源码包
将指定提交打包为 tar/zip,不含 .git 目录,适合发布源码归档。
Feature 分支 PR 工作流
基于最新主干创建功能分支,完成后推送并发起 Pull Request 的典型流程。
解决合并冲突
合并或变基产生冲突后,手动修改文件、标记已解决并继续的完整步骤。
同步主干更新到 PR 分支
PR 评审期间主干已有新提交,将主干变基到当前分支,保持 PR 与最新代码兼容。
冲突时优先采用一方
在合并或变基时,对冲突文件直接选择保留某一方的版本,省去手动编辑。