2012-06-14 10 views
7

Jeśli mam gałąź funkcji f oraz główny oddział M, następnieGit - Jak sprawdzić, czy oddział został KIEDYKOLWIEK włączony do innego oddziału?

git branch --merged 

podczas master będzie mi pokazać jeżeli F jest całkowicie włączone do M, ale w jaki sposób mogę sprawdzić, czy kiedykolwiek wcześniej połączył?

Próbowałem przeglądając instrukcji git-log iz tego co mogę powiedzieć

git log M..F 

pokaże mi obroty na F, które nie zostały włączone do M. Chciałbym zobaczyć odwrotność, że obroty na F, które zostały połączone w M.

Istnieje cała masa pytań, które są zbliżone do tego, ale nie wydaje na pokrycie tej konkretnej case.2

Odpowiedz

1

wyświetla listę gałęzi, które już mnie dotyczą rged

git branch --merged 

2. wymienia działy, które nie zostały połączone (jeśli jej nie ma to znaczy jego scalona)

git branch --no-merged 
+1

Tak, ale czy nie dotyczy to tylko całkowicie scalonego? Jeśli F został włączony do M na pewnym etapie swojego życia, chcę to zobaczyć. – SimonF

4

Zastosowanie git log:

git log feature_branch master --oneline --date-order --merges --reverse -1 

To pokaże wszyscy się łączą między feature_branch i master. --reverse wyświetli zatwierdzenia w odwrotnej kolejności. I -1 oznacza pokazywanie tylko zatwierdzenia one. Dlatego zobaczysz tylko pierwszy zatwierdzony commit.

Jeśli jest to pusty wynik, oznacza to, że nic się nie połączy. Jeśli chcesz, możesz usunąć -1 na końcu, aby pokazać wszystkie połączone zatwierdzenia zaczynające się od najnowszego.

+1

Ahhh to jest interesujące, nie myślałem o używaniu -mergów. Nie sądzę jednak, aby powyższe polecenie rzeczywiście robiło to, co mówisz. Czy nie "git log master..feature_branch' daje ci zatwierdzenia, które są w feature_branch, ale nie master? a następnie dodanie do niej '--merges 'spowoduje ich filtrowanie dla DOWOLNYCH scaleń, a nie jawnie scalanie elementu feature_branch w master? – SimonF

Powiązane problemy