簡體   English   中英

忽略git diff中的合並

[英]ignore merges in a git diff

我想從一個忽略其分支中的合並的標簽做一個git diff。 讓我們用一個簡單的例子來解釋我想要的東西

#                               ~+A                             git diff running here                                                                                                                                                                       
#Branch B ______________________|_____________________________________|                                                                                                                                                                                                                                     
#                       |       ^           |       |                                                                                                                                                                           
#                       +Z      |           +Y      |                                                                                                                                                                                   
#                       tag1    |merge A            Merge B                                                                                                                                                                             
#                               |in B               |in A                                                                                                                                                                                           
#                               |                   |                                                                                                                                                                                   
#Branch A ______________________|___________________v_____________________                                                                                                                                                                                                                                          
#               |                                   |                                                                                                                                                                                                                       
#               +A                                  ~+Z                                     

在這種情況下,我希望能夠在分支B中使用diff,直到tag1

git diff tag1 

問題是我將在這個git diff中

+A
+Y

我只想要+ Y,因為我希望我的git diff忽略B中A的合並

即使我在分支B中創建了一個臨時分支,這個解決方案似乎也行不通,因為我將A中的A和B中的A合並。

如果您已經遇到過這個問題,或者您有一個好主意要解決它,請告訴我。

你可以使用git-log(1)--first-parent--no-merges --first-parent標志到達那里:

命令:

user@machine$ git log --no-merges --first-parent --patch-with-stat tag1..HEAD

輸出:

commit cff05df7d5a91d555c8c848b71a384b5048aa8f8
Author: Barend <email hidden>
Date:   Fri Oct 9 21:15:25 2015 +0200

    Y message
---
 Y | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

暫無
暫無

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

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