簡體   English   中英

帶有“ OR”子句的git-log-或-如何合並git-log輸出?

[英]git-log with an “OR” clause - or - how to merge git-log outputs?

我目前正在嘗試從OSS項目的主干中挑選一個功能放入一個fork中。 這兩個存儲庫都使用git,並且我將樹干作為分支導入到fork中,因此它應該使事情變得輕松簡單。

我采用的方法是嘗試將所有相關的提交從一個分支挑選到另一個分支,因為我不可能直接進行合並:存在太多分歧的事情。

為了生成提交列表,我應該從選擇櫻桃開始,我確定了兩個要運行的git-log命令:

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

這旨在為我提供在project-trunk分支上包含單詞“ Foo”的任何文件的日志。 這是一個很好的起點,但我發現還有其他相關的提交:幸運的是,它們通常在提交日志中具有識別性。 所以要找到這些我正在使用:

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

這給了我分支project-trunk上包含工作“ Bar”的所有日志。

問題是我確實需要一個主列表,該列表按時間順序包含這兩個命令的並集。 我已經閱讀了git rev-list手冊,但是看不到任何我想做的方法。

是否可以將兩個單獨的條件合並在一起? 如果不是,是否有一種簡單的方法按時間順序git-log兩個git-log命令的輸出?

我很不耐煩,在玩了更多之后,我想到了以下似乎可行的方法:

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

如果有人可以改進它,請告訴我! 希望這對以后的人有所幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM