我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
如果你犯下了破案 但没有被逼
git reset --soft HEAD~1
HEAD ~ 1 是头部前的承诺的速记。 或者, 如果您想要重置的话, 您可以引用散列的 SHA-1 。 -- 软选项会删除此项承诺, 但是它会留下您更改过的所有文件“ 更改要执行 ” , 正如 git status 所声明的那样 。 如果您想要删除工作树中跟踪文件的任何更改, 因为任务在头部使用“ 硬” 取代前, 您可以在工作树中取消此任务 。
或
如果你已经被推了 然后有人拉了过来 通常是我的案子 你不能用Git重置
git revert HEAD
这将产生新的承诺, 扭转意外行为带来的一切。
其他回答
如何撤销最后的 Git 承诺 ?
为了让一切恢复到上次承诺之前的状态 我们需要重置在总部总部之前的承诺
如果您不想保留您所做的更改: git 重置 -- hard HEAD * 如果您想要保留您的更改: git 重置 -- s软 HEAD*
现在检查您的 git 日志。 它会显示我们上次的承诺已被删除 。
撤消上一个任务
在很多情况下,你真的想撤销你代码中的最后一项承诺。例如,因为你想对它进行广泛的重组,甚至完全抛弃它!
在这种情况下,"重置"命令就是你最好的朋友:
$ git reset --soft HEAD~1
以上命令( 重置) 将把您当前的 HEAD 分支倒回指定的修改 。 在以上的例子中, 我们想回到当前修改前的修改中, 有效地取消我们上次的修改 。
注意 -- soft 旗号 : 这样可以确保未撤销修改的更改被保存。 在运行命令后, 您会发现您的工作副本中这些更改是未承诺的本地修改 。
如果您不想保留这些更改, 请使用 -- 硬旗 。 您确定不需要这些更改时, 一定要这样做 。
$ git reset --hard HEAD~1
调
撤销上次承诺 :
git reset --soft HEAD^ or git reset --soft HEAD~
这将撤销最后一项承诺 。
在这里 -- 软意味着重置中。
HEAD~ 或 HEAD_ 意思是移动 在 HEAD 之前承诺。
替换上次承诺的新承诺:
git commit --amend -m "message"
它将以新承诺取代最后一项承诺 。
单一个命令 :
git reset --soft 'HEAD^'
成功推翻了当地最后的承诺!
您可以使用:
git reset HEAD@{1}
此命令将删除您没有 Git 日志的错误执行 。