Git / 版本控制

Git 命令生成器先理解,再运行

选择操作模板或粘贴单条命令,在复制到终端之前核对每个参数及其影响。

Git 命令生成器

参数或命令

命令预览

git status

引号适用于 POSIX shell:sh、Bash、zsh 和 Git Bash。运行前请核对实际仓库。

status

查看已跟踪和未跟踪文件的状态,不会提交修改。

运行后读取仓库信息,本页未检查任何仓库。

仅在当前浏览器处理;不执行命令、不访问仓库、不发起网络请求。

选项

预览已就绪,未执行任何命令。

Git 命令生成器适合“知道想做什么,却记不清选项”的时候:只克隆少量历史、查看提交关系,或确认即将提交的暂存内容。打开页面先看到 git status,避免把一个会改动仓库的例子当成默认动作。

Git 命令速查通常给出固定示例;这里让你的分支、路径与提交说明进入预览,同时解释生成结果的意义。语法符合模板,并不代表命令适合你当前的仓库状态。

为什么使用 Git 命令生成器

参数作为完整内容传递

Git 命令生成器为参数添加 POSIX shell 引号,含空格或单引号的提交说明仍保持为一个参数。路径前的分隔符防止其被当成选项;但 Git 仍可能把通配符理解为路径表达式,引号不能代替路径范围核对。

独立参数块汇合成一条命令预览。

风险与命令一起阅读

解释结果会展示操作影响和参数意义,不把“解析成功”写成“运行安全”。选择 hard 重置或带租约强推后,数据丢失及历史覆盖提示会持续出现在结果旁。

命令拆成参数块,其中的危险参数用警告符号标出。

复制之前,确认三个容易忽略的细节

01

先选对差异基准

默认 diff 比较工作区与暂存区;勾选已暂存变更后,比较暂存区与 HEAD。指定引用会替换比较基准,路径字段则把结果限制到一个 Git 路径表达式。

02

看清预览何时刷新

自动更新开启时,停止输入 350 毫秒后重新生成。关闭后显示主按钮,也可按 Ctrl/Cmd + Enter。输入一变,复制立即禁用,避免带走上一组参数的结果。

03

区分页面撤销和仓库恢复

示例与清空都先显示替换预览,应用后能撤销一次,恢复页面输入和输出。三步流程只提供分行命令,在终端必须逐步确认结果;页面的撤销不能恢复外部 Git 操作。

从查看状态到准备提交

十类常用命令

提供 status、clone、log、diff、switch、add、commit、fetch、push 和 reset。浅克隆深度、日志数量和提交图可以单独调节;Git 分支创建与切换使用 switch,Git 提交仅包含已暂存内容。

有限且明确的解释器

支持界面所列命令与选项,包括 --staged 与 --cached 这样的等价写法。未知选项、重复参数、引号未闭合和多余内容会报错,不会只解释命令前半段后允许复制。

三个可读的工作流程

查看变更依次使用 status、diff、log;创建分支使用 status、switch -c、status;准备提交使用 status、add、commit。切换流程会保留其他字段,但不会自动运行任何一步。

支持范围与真实限制

不检查或操作真实仓库
不能判断分支是否存在、权限是否足够、是否有冲突,或当前配置和钩子会做什么。工具不执行 Git 命令,也不提供仓库恢复;预览就绪仅表示本工具接受这组语法。
只生成 POSIX shell 写法
适用于 sh、Bash、zsh 与 Git Bash,不承诺 PowerShell 或 CMD 引号兼容。解释器拒绝脚本、管道、重定向、变量展开、别名和全局 Git 参数;不提供 merge、rebase、clean、普通强推或远程删除模板。
输入长度和数字范围有限
解释命令最多 8,192 个字符,单字段最多 2,048 个字符,不允许控制字符和无效 Unicode。可选日志数量为 1–1000,克隆深度为 1–1000000;日志数量留空时不额外限制 Git 的输出。
地址和引用采用有限语法
克隆只接受无凭据 HTTPS、无密码 SSH 和 user@host:path,不接受本地目录、file 协议或外部 remote helper。分支使用普通 ASCII 名称,引用允许 ~、^ 祖先后缀;不解析任意复杂表达式或查询引用是否存在。
危险选项不会自动变安全
soft 只移动 HEAD,mixed 还会重置暂存区;hard 丢弃已跟踪修改,也可能删除阻碍写入的未跟踪路径。force-with-lease 仍可覆盖远程历史,后台 fetch 可能削弱保护,不能保证可恢复。

Git 命令生成器常见问题

fetch 与 pull 有何不同?

git fetch 和 git pull 的区别在于是否进一步整合变更:fetch 下载对象并更新远程跟踪引用;pull 在获取后还会执行合并或变基,具体由参数和配置决定。本页提供 fetch 模板,不提供 pull 模板。

推送过的提交怎样撤回?

已共享的提交通常通过新增 revert 提交撤销其效果,避免直接重写协作历史。这里没有 revert 模板;推送页面的 force-with-lease 也不是通用撤销按钮,使用前应与协作者确认。

什么时候需要 stash?

需要临时保存未提交工作以切换任务时,stash 可能有用,但默认不会保存所有未跟踪文件。此工具不提供 stash 模板,请先阅读相应选项并确认需要保存的内容。

merge 与 rebase 应如何选择?

merge 保留分叉关系并进行合并,rebase 通常会重新应用提交并改变提交标识。是否适合已共享分支取决于协作约定;两者均不在本页生成与解释范围内。

如何在 git reset --hard 之后恢复提交?

如果提交对象仍存在,可借助 reflog 查找曾经的引用位置,再谨慎恢复。但 hard 丢弃的未提交内容不一定可找回。本页不读取 reflog、不恢复文件,也不保证任何重置能够撤销。

生成结果与设备文档不一致?

先核对参数,再复制命令

回到 Git 命令生成器,从查看状态开始,确认分支、路径和比较基准。只有预览与目标操作一致时,再复制到自己的终端。