2010-12-08 52 views
0

我目前正在尝试从OSS项目的主干中挑选出一个功能,并将其分配到一个分支中。这两个存储库都使用git,我将trunk作为分支导入到fork中,这样可以使事情变得更加简单。带有“OR”子句的git-log - 或者 - 如何合并git-log输出?

我正在采取的方法是尝试从一个分支挑选所有相关的提交到另一个分支,因为我不可能做一个直接合并:有太多分歧的东西。

为了产生我应该用樱桃挑选我已经确定开始提交的列表中有两个git-log命令来运行:

git log --branch project-trunk **/*Foo* 

这是为了给我的日志与任何文件在“project-trunk”分支上的文字“Foo”。这是一个很好的起点,但我发现还有其他相关的提交:幸运的是,它们通常在提交日志中有一个识别工作。因此,要找到这些我使用的是:

git log --branch project-trunk --grep Bar 

这给了我包含的作品“酒吧”的分支project-trunk任何日志。

问题是我真的需要一个主列表,按时间顺序包含这两个命令的联合。我已阅读git rev-list手册,但我无法看到我想要的任何方式。

联合这样的两个独立条件有可能吗?如果没有,是否有一种简单的方法将两个git-log命令的输出按时间顺序组合?

回答

0

我不耐烦,多一点玩耍,我想出了这似乎工作如下:

(git rev-list --grep=Bar heads/project-trunk; git rev-list heads/project-trunk **/*Foo*) | git log --stdin --no-walk --reverse 

如果任何人都可以改进它在所有让我知道!希望这可以帮助别人在未来...

相关问题