[英]Will git log --cherry-pick --right-only --no-merges ignore all commits correctly cherry-picked between branches?
[英]See commits between branches (git cherry) with descriptions?
git cherry命令非常适合查看两个分支之间发生了什么提交 。 但是,默认情况下,它仅为您提供提交ID列表-信息不多。
$ git cherry master dev # Commits in "dev" since it forked from "master"
+ 54408ddc6403376c638d5bfc94c033ab655da7b3
+ 68bc4277954b7de4c95881904de22f1d443366ae
+ d74ab86eee75a8e5c1a835a6e69e74c01d4186e8
如何获得更多信息的相同列表?
您可以通过以下两个命令来传递git cherry
输出来实现此目的:
首先使用sed
删除每行开头的+
,以保留原始提交ID:
$ git cherry master dev | sed 's/^+ //'
54408ddc6403376c638d5bfc94c033ab655da7b3
68bc4277954b7de4c95881904de22f1d443366ae
d74ab86eee75a8e5c1a835a6e69e74c01d4186e8
现在使用xargs --max-lines=1
将每个提交ID传递给git log -1
,然后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
获得所需的任何输出
您可以使用git cherry -v master dev
它将显示带有提交哈希的提交消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.