为了重设上次提交,我做了以下操作:
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,测试等。