我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。
我如何从当地存储库撤销这些承诺?
当前回答
简单, 在命令行运行此操作 :
git reset --soft HEAD~
其他回答
如果您是和SourceTree合作, 这会帮助您 。
在承诺上右键点击, 然后选择“ 重置( 当前分支) / master 到此承诺 ” , 最后选择“ 软” 重置 。
调
撤销最后一次承诺的最简单方式是
git reset HEAD^
这将带来项目状态 之前,您已经做出承诺。
假设您在本地犯下错误, 并将其推到远程仓库。 您可以解开这两个命令的混乱 :
首先,我们需要纠正我们的地方储存库,回到我们所希望的承诺上来:
git reset --hard <previous good commit id where you want the local repository to go>
现在,我们通过使用此命令,在远程仓库大力推动这项良好承诺:
git push --force-with-lease
强制选项的“ 租赁” 版本将防止意外删除您不知道的新承诺( 即上次拉动后来自其它来源 ) 。
“ 将工作树重置为最后一次承诺 ”
git reset --hard HEAD^
"清除工作树上的未知文件"
git clean
见 - Git 快速参考
注意: 此命令将删除您上一个任务, 请谨慎使用! git 重置 -- hard 比较安全 。
单一个命令 :
git reset --soft 'HEAD^'
成功推翻了当地最后的承诺!