在小组项目中,如果开发团队的一个成员使用命令删除了一些提交,
<img>
然后使用
将其推送到仓库git reset --hard commit-number
通过执行此操作,将在远程存储库中删除在指定的“提交编号”之后进行的提交。
现在如何找到删除它的人以及如何恢复那些删除的提交?
注意:在这种情况下,没有开发人员会主动接受他的错误,因此很难通过讨论来发现它。有没有办法回溯并找到删除它的开发人员的用户名?
答案 0 :(得分:0)
要返回到该提交,可以使用reflog查找其引用。
参考日志或“ reflogs”记录分支的提示和 其他参考已在本地存储库中更新。
运行此命令:
git reflog
扫描前几项,并找到丢失的提交。跟踪该提交的标识符(可以使用第一列或第二列)。我们将标识符称为“ ID”。
如果自从进行重设以来没有做任何额外的工作,那么您可以:
git reset --hard ID
git push -f origin master
如果自重设以来您还进行了其他工作,则可以像这样重新回到分支机构来进行挑选:
git cherry-pick ID
git push origin master
答案 1 :(得分:-1)
要恢复已删除的提交,第一步,您可以检查是否有任何同事仍具有其分支的本地版本。
如果您需要将共享版本还原到重置之前的版本,请确保就谁在其分支机构上拥有预期的版本达成共识,并要求他们git push --force
关于知道谁做的那部分,我建议询问。