假设我有一个带有各种分支的git repo。如果我做
git log --oneline | head
我将看到当前分支上最新提交的列表。如果我做
git log --branches=* --oneline | head
我将在任何本地签出的分支上看到最新提交的列表。但是,我应该怎么做才能看到所有最新提交的列表,无论它们是否在任何本地签出的分支上?据我所知,这不是一个只存在于远程的提交问题,因为我可以做例如
git checkout <hash>
并查看提交的内容;只是如果我再次签出master
,我就无法让它显示在git log
中。
git log
从当前签出的提交(称为HEAD(开始,并从那里返回其历史记录。
我相信你想要--all
。
假设refs/中的所有refs以及HEAD在命令行上都列为。
因此,如果您有branch1,branch2,origin/branch1,origin/branch2,tag1,tag2,则git log --all
等效于git log branch1 branch2 origin/branch1 origin/branch2 tag1 tag2 HEAD
。
如果您只想看到按时间顺序排列的提交,那就足够了。如果您想了解它们之间的关系,请添加--graph
以显示它们的连接,添加--decorate
以显示引用(标记和分支(。