我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
IntelliJIDEA 您可以按 Alt+9 键右键单击承诺列表中的某些标签打开 Git 仓库日志, 然后选择 : “ 将当前分支重置到这里... ” 。
其他回答
通常情况下, 您想要撤销一项承诺, 因为您犯了一个错误, 您想要修正它, 基本上就是 OP 提问时所做的。 真的, 您真的想要重做一次承诺 。
这里的大多数答案都集中在命令行上。 虽然命令行是使用Git的最佳方法, 当你对它感到舒服的时候, 它可能与来自其他版本控制系统到 Git 的人有点不同。
使用 GUI 如何操作。 如果您安装了 Git, 您已经拥有了所有您需要遵守的指示 。
注意: 我在此假设您在推动前意识到承诺是错误的。 如果您不知道推力意味着什么, 那么您可能还没有被推动。 继续执行指令。 如果您推动了错误承诺, 最危险的方法就是跟踪错误承诺, 并做出新的修正, 而在版本控制系统中, 您会这样做, 不允许您重写历史 。
使用图形用户界面来修正你最近的过错:
导航到命令行的仓库, 并用 git gui 选择“ 修正最后一项承诺 ” 启动 GUI 。 您将会看到您上次的承诺信件、 您所准备的文件 以及您没有的文件 。 现在更改了您想要它们如何查看和单击 COD 。
第一运行 :
git reflog
这将显示您在存储库中实施的所有可能的动作, 例如, 承诺、 合并、 调用等 。
那么,请:
git reset --hard ActionIdFromRefLog
我从Bitbucket拿到了身份证明 然后就做了:
git checkout commitID .
示例:
git checkout 7991072 .
它又把它恢复到那个承诺的工作副本上。
删除已被推到 Github 的错误行为
git push origin +(previous good commit id):(branch name)
请指定您想要在 Github 重置的最后一个好承诺代号 。
例如,如果最近的承诺 ID 错误, 请用分支名称在 Git 命令上方指定前一个承诺 ID 。
您可以使用 git 日志获得上一个承诺 ID 。
使用 reflog 查找正确状态
git reflog
安全前的路线
选择正确的 reflog( 以我为例, f3cb6e2) 和类型
git reset --hard f3cb6e2
在那之后 重置总部将重置 重置后,HEADLOGED
最终, 折叠图看起来像下面的图片
谈判最后定本