所以,在每个分支上,如果我执行“git log”或“git lg”,它将显示已完成的提交列表。
现在,当我输入“git branch -arg”时,有没有办法在每个分支上显示最新的提交?我发现检查每个分支然后使用“git log”检查提交有点烦人/乏味。
答案 0 :(得分:10)
git branch -v
列出了分支名称以及每个分支上最新提交的SHA和提交消息。
答案 1 :(得分:4)
是的,您可以添加一个结帐后挂钩(described here)。
基本上,创建.git/hooks/post-checkout
文件并放入要在其中运行的任何git命令,最后确保使该文件可执行(chmod +x .git/hooks/post-checkout
在类似unix的系统上,例如Mac OS ,GNU / Linux等)。
例如,如果您将git show
放在该文件中,它会自动显示上次提交以及切换分支时所做的更改。
答案 2 :(得分:1)
有多个git log
参数可以控制其输出:
与--branches
,--glob
,--tag
,--remotes
一样,选择要显示的提交,--no-walk
以避免显示他们的所有历史记录(只是他们的提示为你想要),--oneline
只显示提交日志的第一行,--decorate
和--color=always
添加更多的眼睛:D
尝试以下命令:
$ # show the first line of the commit message of all local branches
$ git log --oneline --decorate --color=always --branches --no-walk
$ # show the whole commit message of all the branches that start with "feature-"
$ git log --decorate --color=always --branches='feature-*' --no-walk
$ # show the last commit of all remote and local branches
$ git log --decorate --color=always --branches --remotes --no-walk
$ # show the last commit of each remote branch
$ git fetch
$ git log --decorate --color=always --remotes --no-walk
顺便说一句,没有必要切换分支以查看其他分支的提交:
$ # show the 'otherbranch' last commit message
$ git log --decorate --color=always -n 1 otherbranch
$ # show a cool graph of the 'otherbranch' history
$ git log --oneline --decorate --color=always --graph otherbranch