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

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


当前回答

有许多方法可以做到:

撤消上次执行/ 上一个承诺的 Git 命令 :

警告 :不使用 - 硬 如果你不知道自己在做什么, 硬就是太硬危险,它可能会删除您的文件 。

返回 Git 中的承诺的基本命令是 :

$ git reset --hard <COMMIT -ID>

$ git reset --hard HEAD~<n>

协调会 协调会:承诺的代号

n:您想要返回的上次承诺的数

您可以获取下列承诺代号:

$ **git log --oneline**

d81d3f1 function to subtract two numbers

be20eb8 function to add two numbers

bedgfgg function to multiply two numbers

何 地d81d3f1 d81d3f1贝多208执行 ID。

现在,让我们来看看一些案例:

假设您想要返回上次的“ d81d3f1 ” 。 这里有两个选项 :

$ git reset --hard d81d3f1

$ git reset --hard HEAD~1

假设您想要还原“ ebe20eb8” 承诺 :

$ git reset --hard be20eb8

欲了解更详细的信息,请参考并尝试其他命令,将头重置为指定状态:

$ git reset --help

其他回答

为了完整起见,我将提出前几个答复所忽略的一个明显明显的方法。

由于承诺没有被推,遥控器没有改变,因此:

  1. 删除本地仓库 。
  2. 克隆远程仓库 。

有时候,如果你的高贵的Git客户告别(看着你,伊吉特),这有时是必要的。

别忘了重新承诺保存已保存上次按键后的变化 。

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

$ git commit -m 'Initial commit'
$ git add forgotten_file
$ git commit --amend

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

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

2.4 Git Basics - 撤销事情

git push --delete (branch_name) //this will be removing the public version of your branch

git push origin (branch_name) //This will add the previous version back

您可以以两种方式撤销您的 Git 承诺: 首先, 您可以使用git revert,如果你想保留你的承诺历史:

git revert HEAD~3
git revert <hashcode of commit>

第二,你可以使用git reset,它会删除你所有的承诺历史, 并带来你的头在你想要的地方。

git reset <hashcode of commit>
git reset HEAD~3

您也可以使用--hard关键字,如果有的话,我只推荐它,直到它变得非常必要。