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

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


当前回答

第一运行 :

git reflog

这将显示您在存储库中实施的所有可能的动作, 例如, 承诺、 合并、 调用等 。

那么,请:

git reset --hard ActionIdFromRefLog

其他回答

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

如何删除/ 反转 Git 承诺

基本上,你只需要做:

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

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

在我的案子中,我无意中犯了一些我不想犯的案卷。所以我做了以下的,它奏效了:

git reset --soft HEAD^
git rm --cached [files you do not need]
git add [files you need]
git commit -c ORIG_HEAD

用 gitk 或 git 日志 -- stat 校验结果

使用使用git revert <commit-id>.

要拿到身份证明,请使用git log.

假设您在本地犯下错误, 并将其推到远程仓库。 您可以解开这两个命令的混乱 :

首先,我们需要纠正我们的地方储存库,回到我们所希望的承诺上来:

git reset --hard <previous good commit id where you want the local repository  to go>

现在,我们通过使用此命令,在远程仓库大力推动这项良好承诺:

git push --force-with-lease

强制选项的“ 租赁” 版本将防止意外删除您不知道的新承诺( 即上次拉动后来自其它来源 ) 。

使用使用源树树(Git 的图形工具) 查看您的承诺和树。 您可以单击右键手动重置它 。