GIT Pull删除了我的提交

GIT Pull删除了我的提交,git,git-merge,git-reset,git-commit,Git,Git Merge,Git Reset,Git Commit,在git pull之后,我已经完成了git重置,并在合并之前使用提交id撤消了合并。不知何故,我的整个提交都消失了,我也看不到历史记录中的提交。但是我有提交id,在gitshow命令上我可以看到我的更改 如何找回我的更改以及如何跟踪我犯了什么错误如果您有提交散列,并且没有运行垃圾收集,您可以使用git checkout返回该提交。如果您想在当前的头上重新应用它,您可以执行git cherry pick@keppla是否有理由在合并之前很难在git上重置提交id重置所有我的更改。还有,我可以在其他

在git pull之后,我已经完成了git重置,并在合并之前使用提交id撤消了合并。不知何故,我的整个提交都消失了,我也看不到历史记录中的提交。但是我有提交id,在gitshow命令上我可以看到我的更改


如何找回我的更改以及如何跟踪我犯了什么错误

如果您有提交散列,并且没有运行垃圾收集,您可以使用
git checkout
返回该提交。如果您想在当前的头上重新应用它,您可以执行git cherry pick

@keppla是否有理由在合并之前很难在git上重置提交id重置所有我的更改。还有,我可以在其他地方安全地保存这个悬而未决的提交吗?你可以发布你所做的命令吗?我不清楚您到底做了什么,我的回答是一般性的(几乎总是可以恢复)。@siri:
git reset--hard
定义为删除所有未提交的更改,将当前分支移动到指定的提交并签出。前面指向的提交记录在reflog中,因此您可以始终从那里将其拉出(
HEAD@{1}
表示
HEAD
的上一个值,
branchname@{1}
表示branchname的上一个值(
{2}
表示一个2操作返回,依此类推;默认情况下,历史在一段时间后过期(我不确定默认情况下是30天还是90天)我运行以下命令git pull git reset--hard 5A582B3BBCC2FB2FD99132D329B90DD0AB9B42298(合并前提交id)git pull我看不到我的提交here@keppala在cherry pick之后,我收到一条消息警告:文件太多(创建:3250删除:828),跳过不精确重命名检测自动选取失败。解决冲突后,使用“git add”或“git rm”标记更正的路径,并使用git commit-c 991f5528d4fbe036df26b1f686090f22c9c8fd18提交结果。这是什么意思mean@Karl如果你想知道你到底犯了什么错误,那就去吧我不得不告诉我们你除了拉以外还做了什么。
git pull
永远不会从你的历史记录中删除提交;你做了其他事情。可能是
签出
,可能是
重置
?@Jefromi在下面的回答中,我给出了我执行的命令