Git樱桃结合git show

ple*_*dge 4 git

我正在使用Git cherry,并希望看到它找到的提交的更多细节.首先,我跑

git cherry
-- read the output
git show sha-1
Run Code Online (Sandbox Code Playgroud)

有没有办法看到cherry的所有结果的提交/日志/差异,并通过它们翻页?我已经尝试将git cherry的结果用于各种各样的事情,但似乎无法找到一个有效的.

ndi*_*dim 5

我没有"完整"的答案,但这些快速黑客可能会有所帮助:

$ git cherry master
+ c3f6a19ac55170baa33fbbfb583ff3f0d4ad2710
+ 8b73d6cb31d0a3fed328acd31d524a671238f51a
$ git cherry -v master
+ c3f6a19ac55170baa33fbbfb583ff3f0d4ad2710 Add "foo" command
+ 8b73d6cb31d0a3fed328acd31d524a671238f51a Add "--bar" argument
$ git cherry master | awk '{ system("git show $2"); }'
[ interactive "git show" calls happen here ]
$
Run Code Online (Sandbox Code Playgroud)

剩下的问题是

  1. 你看不出"git show"n是否实际上带有前缀+.
  2. 你无法在"git show"中中止整个操作.
  3. 您无法在"git show"中知道显示的提交是1/100,1/2还是88/100.

  • 您可以使用 `git log --no-walk $(git cherry | cut -d" " -f2)` 来解决 2 和 3。第一个我可能会简单地通过只选择 + 或只选择 - 行来处理,例如`| awk '/^+/ {print $2}'。 (2认同)