我可以重新登录特定分支吗?
git reflog
显示回购的所有历史记录。但我想查看一个特定分支的历史记录,比如production
。有没有办法做到这一点?
答案 0 :(得分:15)
如the documentation所述,git reflog
采用动作动词(称为<subcommand>
)和可选修饰符。该操作默认为show
,其可选修饰符是要显示的参考名称。
默认设置是在HEAD
上显示操作。 (大多数,但不全部,“日常”命令在HEAD
上和/或通过git reflog
进行操作,以便对任何其他参考进行操作。因此production
显示所有历史记录实际上都是假的 - 但它确实显示大多数,这可能足够接近。)这使您能够立即明确地回答显示应用于特定的操作的问题branch-name git reflog show production
:
git reflog show
正如文档所述,git log -g --abbrev-commit --pretty=oneline
是git log -g --abbrev-commit --pretty=oneline production
的别名,因此您也可以运行:
-g
获得完全相同的输出。这里的键切换是git log
,它指示show
遍历给定ref的reflog,而不是从ref指向的提交可以提交的提交。
(你可以继续省略show
动词,因为它仍然是默认的,但在这种情况下我会建议包括它 - 例如,如果你的分支名为expire
或{{ 1}}这个名字会被误认为是动词!)
答案 1 :(得分:3)
git reflog
可以将分支作为参数。与git reflog production