我无意中把错误的文件给了Git, 但还没有把承诺推到服务器上。

我如何从当地存储库撤销这些承诺?


当前回答

如果您只是想要丢弃所有本地更改/ 承诺, 使您的本地分支看起来像您从... 开始的源分支...

git reset --hard origin/branch-name

其他回答

要重置上一个修订版, 请永久删除所有未承诺的更改 :

git reset --hard HEAD~1

单一个命令 :

git reset --soft 'HEAD^' 

成功推翻了当地最后的承诺!

您可以从本地仓库撤销您的承诺 。 请遵循以下方案 。

在下面的图像中, 我检查“ 测试” 分支( 使用 Git 命令 Git 检出 - b 测试) 作为本地分支的本地状态和检查状态( 使用 Git 命令 Git 状态) , 没有可执行的 。

在您可以看到的下一个图像中, 我对 Feller1. txt 做了一些修改, 并将该文件添加到中继区, 然后用一些信息( 使用 Git 命令 Git 承诺 - m “ 做 承诺测试返回 ” ) 进行更改 。

"-m 用于发送信件"

在下一个图像中,您可以看到您的承诺日志(使用 Git 命令 git 日志) 。

在上述图像中,您可以看到每次承诺的承付代号, 以及您现在的委托信, 任何您想要返回或撤销执行 ID 并击中下面的 Git 命令的副本, git return {“ paste your decent id”} 。 例如 :

git revert 9ca304ed12b991f8251496b4ea452857b34353e7

我恢复了上次的承诺。 现在, 如果您检查您的 Git 状态, 您可以看到已修改的文件, 即 Flickr1. txt , 但尚未执行 。

git revert commit

这将产生与您想要返回的承诺相反的变化, 然后再进行这种改变。 我认为这是最简单的方式 。

http://git-scm.com/docs/git-revert https://git-scm.com/docs/git-revert

假设您是在视觉工作室工作, 如果您进入您的分支历史, 并查看您的所有承诺, 只需在承诺之前选择您想要撤销的事件, 右键单击它, 并选择回溯。 简单 。