【发布时间】:2014-10-27 11:34:04
【问题描述】:
我在恢复到某个 git 提交时遇到了一些麻烦。我正在使用 Github 和 Sourcetree。如何在提交“Typo”后丢弃所有更改并恢复到该状态并从那里开始工作?
我尝试过重置,但这似乎不起作用。如果有一个 git 的终端突击队,那也没关系。
【问题讨论】:
我在恢复到某个 git 提交时遇到了一些麻烦。我正在使用 Github 和 Sourcetree。如何在提交“Typo”后丢弃所有更改并恢复到该状态并从那里开始工作?
我尝试过重置,但这似乎不起作用。如果有一个 git 的终端突击队,那也没关系。
【问题讨论】:
您可以通过键入以下命令来恢复工作目录和索引下的所有文件。
git reset --hard <SHAsum of your commit>
例如,如果我有一个名为 commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de 的提交 然后我会写:
git reset --hard 4a155e5
【讨论】:
一个简单的git checkout -b newBranch <SHA of Typo commit> 应该可以解决问题。它将创建一个指向您所需提交的新分支并在本地签出内容。
这样您就不会丢失Typo 之后的提交。如果您需要删除它们,您将能够删除包含它们的分支,使用:git branch -D <name of the branch>
您可以使用git log 建立SHAsum。
【讨论】: