我想对我的本地副本执行以下操作:
- 放弃我所做的所有更改。
- 删除所有已添加的新文件。
- 将我的本地副本重置为以前的提交 ID,以便只有在提交时存在的文件存在于我的本地副本中。
我应该运行以下内容吗?
git checkout ID .
git clean -fd
我想对我的本地副本执行以下操作:
我应该运行以下内容吗?
git checkout ID .
git clean -fd
像这样:
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}