Git命令生成器

下一个

每位工程师都至少两次在谷歌上搜索过“如何撤销最近一次提交”。无需在reset --softreset --mixedreset --hard之间猜测,只需从列表中选择任务,工具就会输出填好你的分支名、提交SHA或标签名的精确命令。

如何生成 Git 命令

  1. 1

    选择任务

    撤销最近一次提交、修改提交信息、变基到main、cherry-pick、强制重置到远程、为发布打标签……

  2. 2

    填写参数

    分支名、提交SHA、标签,只需每个任务所需的字段。

  3. 3

    查看命令

    工具会按正确顺序组装正确的标志(flag)。

  4. 4

    复制并运行

    粘贴到终端即可;该命令是可直接运行的一行,而非伪代码。

涵盖的任务

任务 生成的命令
撤销最近一次提交(保留 staged) git reset --soft HEAD~1
修改最近一次提交信息 git commit --amend -m "…"
丢弃所有未提交的更改 git restore . + git clean -fd
创建并切换到新分支 git checkout -b feature/x
在本地和远程删除分支 git branch -d x + git push origin --delete x
将功能分支与 main 同步 git fetch origin + git rebase origin/main
cherry-pick 一次提交 git cherry-pick <sha>
revert 一次提交(安全) git revert <sha>
为发布打标签并推送 git tag -a v1.0.0 -m "…" + git push origin v1.0.0
将本地强制重置到远程 git fetch origin + git reset --hard origin/main

标记为安全与破坏性的命令

  • 安全(可撤销):commitswitchcheckout -breverttag
  • 对本地工作树具有破坏性restore .clean -fdreset --hard
  • 对共享历史具有破坏性push --forcefilter-repo,以及在他人使用的分支上执行的rebase

提示:对高风险命令先做试运行

在执行 git clean -fd 之前,先运行 git clean -nd-n 标志会显示将被删除的内容而不真正删除。git rm 也是同理:先查看 git status

常见问题

因为“撤销”的含义各不相同。reset --soft HEAD~1会把你的更改保留在 staged 状态,以便重新提交;--mixed会将其从暂存区移出;--hard则直接丢弃。生成器让你选择意图,而不必死记各种标志。

revert 会创建一次新提交来撤销旧提交,由于历史得以保留,在共享分支上是安全的。reset 则回退分支指针,这会改变历史;若该分支为共享分支,则需要强制推送。

是的,用于“从所有历史中删除某个文件”这一任务。它比已弃用的 filter-branch 更安全、更快;需要单独安装(brew install git-filter-repo 或通过 pip)。

不会。它只输出命令,是否执行始终由你决定,因此你可以在动用仓库之前检查标志和上下文。

相关工具

此工具还提供其他语言版本