0

我想对我的本地副本执行以下操作:

  1. 放弃我所做的所有更改。
  2. 删除所有已添加的新文件。
  3. 将我的本地副本重置为以前的提交 ID,以便只有在提交时存在的文件存在于我的本地副本中。

我应该运行以下内容吗?

git checkout ID .
git clean -fd
4

1 回答 1

5

像这样:

git reset --hard [sha]

请注意,它不会删除未跟踪的文件,因为 Git 对它们一无所知。运行此命令时,所有暂存和未暂存的更改都将丢失,因此请注意这一点。

如果你不小心运行了这个并想回到旧的提交,那么git reflog会显示如下输出:

86b46fd HEAD@{0}: 86b46fd: updating HEAD
a2b03fa HEAD@{1}: commit: [commit message]

这里的HEAD@{1}提交是旧的 sha。使用以下命令重置回它:

git reset --hard HEAD@{1}
于 2012-10-22T03:04:08.290 回答