首页 > 解决方案 > 推送到 Github 将 Git 重置为首次提交

问题描述

我只是尝试将我的代码推送到 GitHub 并将我的代码重置为第一次提交:

在此处输入图像描述

它甚至显示当前日期。我不知道发生了什么,我只是将我的本地仓库推送到了 GitHub。

Git 参考日志

1bfaa56 (HEAD -> master, origin/master) HEAD@{0}: checkout: moving from 1bfaa5611e682cc88df5a7533f4fea3b2d22a700 to master
1bfaa56 (HEAD -> master, origin/master) HEAD@{1}: checkout: moving from master to master
1bfaa56 (HEAD -> master, origin/master) HEAD@{2}: checkout: moving from a346040b4c6ee040d5247a1f5d9ab57a0842405f to master
a346040 HEAD@{3}: commit: GitHub, lets go
0c05b31 HEAD@{4}: commit: Added formatting
ec361bc HEAD@{5}: commit: PreStorybook Commit
e609f79 HEAD@{6}: commit: Pre Webraptor deck swiper
4d6c52c HEAD@{7}: commit: Pre REdux toolkit reducer
e9542a2 HEAD@{8}: commit: Pre Rdux commit
2e9f395 HEAD@{9}: commit: Pre Amplify commit
9f29127 HEAD@{10}: commit: Detox added
741e11a HEAD@{11}: commit: Pre Detox Setup commit
1bfaa56 (HEAD -> master, origin/master) HEAD@{12}: checkout: moving from master to 1bfaa5611e682cc88df5a7533f4fea3b2d22a700
1bfaa56 (HEAD -> master, origin/master) HEAD@{13}: commit (initial): First Commit

标签: gitgithub

解决方案


1bfaa56 (HEAD -> master, origin/master) HEAD@{12}: checkout: moving from master to 1bfaa5611e682cc88df5a7533f4fea3b2d22a700

此消息意味着您直接通过其哈希签出了提交。这使您处于所谓的“分离头”状态。您应该已经看到有关此的警告消息,该消息告诉您有关分离头的所有警告。简而言之,当你处于分离的头部状态时不要提交任何东西,因为这些提交不在任何分支上。

话虽如此,您仍然可以恢复工作。这就是 git 的美妙之处:几乎你所做的一切都是可逆的。让我们看看其他一些消息:

1bfaa56 (HEAD -> master, origin/master) HEAD@{0}: checkout: moving from 1bfaa5611e682cc88df5a7533f4fea3b2d22a700 to master
1bfaa56 (HEAD -> master, origin/master) HEAD@{1}: checkout: moving from master to master
1bfaa56 (HEAD -> master, origin/master) HEAD@{2}: checkout: moving from a346040b4c6ee040d5247a1f5d9ab57a0842405f to master
a346040 HEAD@{3}: commit: GitHub, lets go

此处的最后一行看起来像是您为工作所做的最新提交。要回到这一点,您可以使用git merge

git merge HEAD@{3}

这假设自上次运行以来您没有执行任何其他命令git reflog。如果有,您应该git reflog{}.

或者,您可以使用提交哈希:

git merge a346040

每个提交都有一个唯一的标识符,可以在许多 git 命令中使用。

最后,将您的提交推送到 GitHub:

git push

推荐阅读