我无意间把错误的档案 写错给Git 基特,但还没有将承诺推进到服务器上。

我如何解除那些承诺?当地当地仓库?


当前回答

我很久以前也曾写过这些话,

如何删除/ 反转 Git 承诺

基本上,你只需要做:

git log,获得 SHA hash 的前七个字符,然后做一个git revert <sha>和继 继 继 继 继 继git push --force.

您也可以使用 Git 返回命令恢复此命令如下:git revert <sha> -m -1时和时git push.

其他回答

每个人都以如此复杂的方式发表意见。

如果您想要从分支中删除最后一项承诺, 最简单的方法是:

git reset --hard HEAD~1

现在,为了摆脱你最后的承诺,你必须

git push --force

这就对了,这会消除你最后的承诺

如果你犯下了破案 但没有被逼

git reset --soft HEAD~1

总部~1是在头部前的一小节。或者,您可以参考SHA-1(SHA-1)。如果您要重置,则要重置。-- 软选项将删除承诺, 但它会保留您更改的所有文件“ 更改待执行” , 如 Git 状态所显示 。

如果您想要删除工作树中跟踪文件的任何更改, 因为在头使用前要执行此任务 " 。--- 硬" 相反。

如果你已经推了,有人拉了拉了 通常是我的案子,你不能用git 重设。但是,你可以做一个git 返回 git 返回,

git revert HEAD

这将产生新的承诺, 扭转意外行为带来的一切。

如果您想要还原最后一个任务, 但仍要保留在任务中本地作出的更改, 请使用此命令 :

git reset HEAD~1 --mixed
$ git commit -m 'Initial commit'
$ git add forgotten_file
$ git commit --amend

重要的是要明白,当你正在修正你的最后一项承诺时,你并没有完全用新的、更好的承诺来取代它,新的承诺将旧承诺推开,而将新承诺置于其位置。 事实上,这好像前一项承诺从未发生,也不会出现在你的存储库历史中。

修改承诺的明显价值是略微改进你的最后一项承诺,而不会用表格“Oops,忘记添加文件”或“Darn,在最后一项承诺中确定打字符”等字词来模糊你的存储库历史。

2.4 Git Basics - 撤销事情

IntellelliJIDEA 您可以按下打开 Git 的 Git 仓库日志平平+9,鼠标右键单击承诺列表中的某些标记,并选择:重置当前分支到这里....