在git中使用以下命令回滚到上一次提交后:
git checkout <commit hash>
然后执行一个git log,在我刚刚 checkout 的提交之后的所有日志条目都丢失了。我如何在 checkout 前一个提交后获得所有提交的列表?我需要检查最新的,并及时前进。
git log
bkhjykvo1#
git log显示当前HEAD的日志。假设您要查看日志的分支是“master”,要再次查看“full”日志,您可以执行以下操作之一:checkout 分支,然后运行git log:
git checkout master git log
传递对git log的引用作为HEAD:
git log master
然后改为使用“future”提交的引用来 checkout 。如果您想查看Git引用的更改日志(例如:分支和HEAD),使用git reflog。
git reflog
ssm49v7z2#
git checkout <commit hash>没有回滚。如果你想“回滚”提交,你可能想尝试git reset --hard <commit hash>。如果你想要master分支的日志(如果master是你所在的分支),你必须这样做:
git reset --hard <commit hash>
目前,你 checkout 了一个特定的提交,日志将只显示该提交之前的提交,而不会显示之后的提交。另外,如果你已经完成了这个 checkout ,在这个提交上进行了提交,停止!你处于一个分离的HEAD状态,这意味着它只用于提交检查。您可以使用git checkout master返回到master,甚至可以使用git checkout -
git checkout master
git checkout -
z0qdvdin3#
请参阅git reflog show消息。它帮助我恢复旧的本地更改。
git reflog show
3条答案
按热度按时间bkhjykvo1#
git log
显示当前HEAD的日志。假设您要查看日志的分支是“master”,要再次查看“full”日志,您可以执行以下操作之一:checkout 分支,然后运行git log:
传递对
git log
的引用作为HEAD:然后改为使用“future”提交的引用来 checkout 。
如果您想查看Git引用的更改日志(例如:分支和HEAD),使用
git reflog
。ssm49v7z2#
git checkout <commit hash>
没有回滚。如果你想“回滚”提交,你可能想尝试
git reset --hard <commit hash>
。如果你想要master分支的日志(如果master是你所在的分支),你必须这样做:
目前,你 checkout 了一个特定的提交,日志将只显示该提交之前的提交,而不会显示之后的提交。
另外,如果你已经完成了这个 checkout ,在这个提交上进行了提交,停止!你处于一个分离的HEAD状态,这意味着它只用于提交检查。您可以使用
git checkout master
返回到master,甚至可以使用git checkout -
z0qdvdin3#
请参阅
git reflog show
消息。它帮助我恢复旧的本地更改。