吉樱桃命令非常适合查看两个分支之间发生了什么提交?。但是,默认情况下,它只是给出了提交it的列表--没有提供那么多信息。
$ git cherry master dev # Commits in "dev" since it forked from "master"
+ 54408ddc6403376c638d5bfc94c033ab655da7b3
+ 68bc4277954b7de4c95881904de22f1d443366ae
+ d74ab86eee75a8e5c1a835a6e69e74c01d4186e8如果有更多的信息,我怎样才能得到相同的列表?
发布于 2019-08-20 09:28:56
您可以使用git cherry -v master dev
它将使用提交哈希显示提交消息。
发布于 2013-10-21 08:42:56
您可以通过通过另外两个命令来传递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获得任何您喜欢的输出。
https://stackoverflow.com/questions/19489769
复制相似问题