Git在某次提交后丢弃本地和远程的所有更改

时间:2014-10-27 11:34:05

标签: git github

我在恢复某个git提交时遇到了一些麻烦。我正在使用Github和Sourcetree。如何在提交“Typo”之后丢弃所有更改并恢复到该状态并从那里开始工作?

我尝试过重置,但这似乎没有办法。如果有一个终端突击队为git这个也没关系。

My mess :-(

3 个答案:

答案 0 :(得分:2)

您可以通过输入以下命令来恢复工作目录和索引下的所有文件。

git reset --hard <SHAsum of your commit>

例如,如果我有一个名为commit的提交4a155e5b3b4548f5f8139b5210b9bb477fa549de 然后我会写:

git reset --hard 4a155e5

答案 1 :(得分:1)

一个简单的git checkout -b newBranch <SHA of Typo commit>应该可以解决问题。它将创建一个指向您所需提交的新分支,并在本地检出内容。 这样您就不会在Typo之后丢失提交。如果您需要删除它们,您将能够使用以下内容删除包含它们的分支:git branch -D <name of the branch> 您可以使用SHAsum建立git log

答案 2 :(得分:0)

我使用此SO问题的接受答案让它工作。谢谢你让我朝着正确的方向前进。