Git 缺少提交

标签 git git-commit git-log

我是 git 新手,偶然发现了一个奇怪的问题

所以我对我的本地存储库做了一些提交,并用 git log 查看了它们,它运行良好。
一段时间后,我检查了一个较旧的提交,后来我想跳回到我最近的提交继续我的工作。所以我又做了一个 git log。
但是现在没有显示最新的 3-4 次提交。
输入“git checkout master”让我看到了第二个日志命令的最新提交,但没有看到我描述的第一个命令的提交。
这是一个问题还是我必须输入另一个命令才能返回到最新的提交?

我希望我的问题是可以理解的。

我以正确的顺序输入的所有命令:

Git添加公共(public)/
Git 提交 -m “Fo”
(这里没有错误)
git 日志 --oneline。
输出:8 次提交。
Git checkout “旧提交的 id”
git 日志 --oneline。
输出:4 次提交

最佳答案

运行后git checkout sha1 ,您处于分离的 HEAD 状态。使用git reflog找到您以前的 HEAD 和 git checkout那个 HEAD 或 git reset --hard到那个头。

如果你在一个命名的分支上,你可以简单地 git checkout <branch name>回去。如果您使用的是分离的 HEAD,请使用 git reflog反而。

关于Git 缺少提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37614483/

相关文章:

git - 如何在GIT和SVN之间进行双向同步

git - 检查 git 子模块是否已在远程更新

git - 如何删除对 git 的提交

git - 如何使用 grep 查看大多数提交发生在一周中的哪一天?

git - 在另一个文件夹中删除和重新创建后保留文件的 Git 历史记录

git - 如何优化远程 GIT 仓库——主要是 Heroku

ruby-on-rails - 将应用程序部署到两个不同的服务器,具有不同的 production.rb 内容

git 状态(没有提交,工作目录干净),但是已提交更改

python - Git 不提交文件

git - 通过 URL 获取远程存储库的提交历史记录