为了重设上次提交,我做了以下操作:

git reset --soft HEAD^

但我做了太多次了。现在我想再往前走几步。有可能吗?
另外,我还有一个开发人员在一个生产应用程序上拉合并代码,这使得所有的东西都变得杂乱无章。然后为了解决这个问题,他在应用程序源代码中手动重写了一些文件。有不好的承诺。应用程序无法运行。
在git中有什么方法可以硬重置到特定的时间点吗?我对它还不够熟悉。

最佳答案

使用git reflog查看您的位置并重置为该位置。(或在重置中使用HEAD@{1}等符号)
对于另一个问题,从git log获取要重置到的提交的散列并执行git reset --hard <sha1>。或者你甚至可以做git reset --hard HEAD@{1 day ago}等,如果你想重设为一些承诺在过去的一些时间。由于您正在重写历史,因此必须执行强制推送-git push -f
另外,为什么开发人员要推进生产?有浇口-ci,测试等。

08-26 21:59
查看更多