git cherry
您可以通过另外两个命令管道输出来实现此目的:
首先使用sed
删除+
每行开头的 以保留原始提交 ID:
$ git cherry master dev | sed 's/^+ //'
54408ddc6403376c638d5bfc94c033ab655da7b3
68bc4277954b7de4c95881904de22f1d443366ae
d74ab86eee75a8e5c1a835a6e69e74c01d4186e8
现在使用xargs --max-lines=1
将每个提交 ID 传递给git log -1
,然后可以显示有关每个提交的其他信息:
$ git cherry master dev | sed 's/^+ //' | xargs --max-lines=1 git log -1 --pretty=format:"%h [%ad] %an : %s" --date=short
54408dd [2013-10-09] Robin Winslow : Update Binaries submodule
68bc427 [2013-10-09] Robin Winslow : Update reference dependencies for Website
d74ab86 [2013-10-09] Robin Winslow : Remove non-exisent files from Website project
注意:您可以定制--pretty=format:"%h [%ad] %an : %s" --date=short
零件以获得您喜欢的任何输出git log