我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
简单的分步骤指南如下:
销毁承诺并抛弃任何未承诺的变更
git reset --hard HEAD~1
取消承诺,但保留您的更改
git reset HEAD~1
保存您的文件, 并自动将所有更改都放回后方
git reset --soft HEAD~1
使你们复活,而你们被毁灭;
git reflog #to find the sh
其他回答
如果您只是想要丢弃所有本地更改/ 承诺, 使您的本地分支看起来像您从... 开始的源分支...
git reset --hard origin/branch-name
使用 SourceTree ( Git 的图形工具) 查看您的承诺和树。 您可以单击右键手动重置它 。
如果你打算完全撤销一个本地的承诺, 无论你改变什么你对承诺所做的, 如果你对此不担心, 执行以下命令。
git reset --hard HEAD^1
(此命令将忽略您的全部任务, 您的更改将完全从您的本地工作树中消失) 如果您想要撤销您的承诺, 但是您想要您在中转区域中的更改( 在像 Git 添加后一样执行前) , 那么执行以下命令 。
git reset --soft HEAD^1
现在,您的已执行文件将进入中转区域。 如果您想要提升文件, 您需要编辑错误的内容, 那么执行以下命令
git reset HEAD
现在承诺要将文件从舞台区域移到非舞台区域。 现在文件已准备编辑, 所以无论您改变什么, 您都想要去编辑和添加它, 并做出新的/ 新的承诺 。
更多(断链接) (存档版本)
为了完整起见,我将提出前几个答复所忽略的一个明显明显的方法。
由于承诺没有被推,遥控器没有改变,因此:
删除本地仓库。 克隆远程仓库 。
有时候,如果你的高贵的Git客户告别(看着你,伊吉特),这有时是必要的。
别忘了重新承诺上次推后保存的更改 。
您可以使用:
git reset HEAD@{1}
此命令将删除您没有 Git 日志的错误执行 。