git checkout master
# (Opcional) Si tienes cambios en el cache (no commiteados) que no quieras perder ...
git stash # ... guardalos en el stash
# Cuidado, cualquier cambio que no este commiteado se va a perder!
git reset --hard commit_id --
# (Opcional) Y ahora podes sacar los cambios que guardaste en el stash
git stash pop
在 git 中很难丢失已提交的更改。当一个提交时会发生一些事情:
据我所知,永远丢失提交的唯一方法是确保没有分支引用它,然后运行
git prune
.更安全的是,您的更改仍在您的计算机上。您可以使用 搜索它们
git reflog
。这是以下输出的示例
git reflog
: 查找您创建的最后一个提交,并希望返回并复制其 SHA。一旦找到包含有价值工作的提交,您可以重置 master 以指向该提交。如果一切顺利,当您运行时
git log
,它应该会显示标签master
指向您想要的提交。您可以通过多种方式返回,其中一些方式比其他方式更危险,例如:
1.-您可以返回:
这也是一种创建分支并在它们之间移动的方法。
2.-使用 git reset 不仅可以返回还可以删除此提交后所做的更改,它有两种使用方式:
git reset -hard borra
染色区的所有信息。你还应该知道 git reset 命令是一个危险的命令,不应该在没有它的标志(--soft、--hard、--HEAD)的情况下使用。一旦使用就没有回头路了。git checkout 就像一台时间机器,让我们去、看、漫游、回来。
官方文档:
git结帐
git 重置