更详细的git cherry

更详细的git cherry,git,git-log,cherry-pick,git-cherry-pick,Git,Git Log,Cherry Pick,Git Cherry Pick,我希望git cherry的行为更像是git日志 我的git存储库中有两个独立的分支(svn导入的结果)。没有共同的祖先,他们之间没有融合。我不希望这两个分支永远连接在一起,即使它们涉及同一个项目 这两个分支是: master(干净的行,可发布的代码) old_trunk(垃圾开发分支,包括实验性提交和我想挑选的提交) 现在, 正确标识已应用于主控的变更集(因为svn merge的工作更像是一个樱桃选择) 但是,git日志: $ git log --cherry --cherry-mark ma

我希望git cherry的行为更像是git日志

我的git存储库中有两个独立的分支(svn导入的结果)。没有共同的祖先,他们之间没有融合。我不希望这两个分支永远连接在一起,即使它们涉及同一个项目

这两个分支是:

master
(干净的行,可发布的代码)

old_trunk
(垃圾开发分支,包括实验性提交和我想挑选的提交)

现在,

正确标识已应用于主控的变更集(因为svn merge的工作更像是一个樱桃选择)

但是,git日志:

$ git log --cherry --cherry-mark master..old_trunk
显示尚未应用于主服务器的所有提交。 它要么坏了,要么用不同的机制来寻找樱桃

我正在寻找一种解决方案,通过
old_trunk
history来查看作者、提交日期、完整提交消息,最重要的是能够区分已经完成的任务


有什么想法吗?

好吧,您可以使用git cherry列出所有提交,然后通过循环运行它们,以显示每个返回的提交。你喜欢这个工作吗

for i in $(git cherry old_trunk | cut -d" " -f 2); do git show $i --quiet --pretty=fuller; done

好的,您可以使用
git cherry
列出所有提交,然后通过循环运行它们以显示每个返回的提交。你喜欢这个工作吗

for i in $(git cherry old_trunk | cut -d" " -f 2); do git show $i --quiet --pretty=fuller; done

这很好。我还找到了另一个日志选项:
git log--no walk--oneline$(git cherry old_trunk | grep“^+“| cut-d”“-f2)
,这在回答我的问题时可能更好一些。然而,for循环将更适合我的需要。谢谢这很好。我还找到了另一个日志选项:
git log--no walk--oneline$(git cherry old_trunk | grep“^+“| cut-d”“-f2)
,这在回答我的问题时可能更好一些。然而,for循环将更适合我的需要。谢谢