git - Tortoisegit 撤消最后一次提交到 repo 协议(protocol)

标签 git github tortoisegit

在 tortoisegit 中是否有一个选项可以撤消对 repo 的最后一次提交?

我错误地将大量不需要的文件推送到我需要撤消的 git 存储库 (branch:master) 中。我在 tortoise git 中搜索了很多正确的选项来撤消推送并返回到上次提交之前的状态。请告诉我撤消上次提交的方法。

最佳答案

如果你还没有推送你的更改(所以你的提交只是本地的)

  1. TortoiseGit -> Show log
  2. 选择要回滚到的提交
  3. Reset "<branch>" to this...

如果你有,那么这仍然可以完成,但是你还必须执行强制推送(选中“覆盖已知更改1).

1 覆盖已知更改”标志将用新提交替换已推送的提交。如果有可能有人已经获取了您正在替换的提交,请不要​​使用此功能,否则这样做会在历史记录中创建一个具有两个相互冲突事实的分支。


还有一个快捷方式,当您只想 (1) 重做最后一次提交 和 (2) 您还没推送:

  1. 提交 -> 选中“修改上次提交

这将用一个新的提交替换上一个提交。但我不建议使用这个——如果最后一次提交已经被推送,你可能会遇到一团糟。 TortoiseGit 不会在这里阻止你。

通过执行重置,您必须查看日志,然后查看提交是否是本地的。

关于git - Tortoisegit 撤消最后一次提交到 repo 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135403/

相关文章:

regex - 在 Windows 上执行 git-hooks 出错

git - 如何在没有历史记录的情况下 fork Git 存储库的子集?

android - 导入 Android-Download-Manager 库结果 "failed to resolve"?

github - 如何在 Azure DevOps 中创建每次都会创建 GitHub 版本的发布管道?

git - 安装 TortoiseGIT 时无法选择 SSH 客户端

git - git 如何处理带空格的文件夹名称

Git hook,修改commit文件

javascript - 我可以取消 GitHub 登录与 Code Chef 的关联吗?

git - 使用带有 svn-git 的 TortoiseGit 克隆 SVN 存储库的特定分支

git - 在不区分大小写的文件系统上自动执行区分大小写的重命名的 git 提交