2012-02-20 13 views
5

Mam repozytorium git dla projektu w pracy. Za każdym razem, gdy wydajemy wersję naszego oprogramowania, tworzymy dla niej gałąź wydania. Istnieje gałąź release1.0, gałąź wersji 1.1, itp. Kiedy potrzebujemy utworzyć poprawkę dla tego wydania, zatwierdzamy tę gałąź wydania, a następnie łączymy tę poprawkę z naszą główną gałęzią programistyczną.Jak mogę sprawdzić, czy poprawki gałęzi wydania projektu git zostały scalone w master?

Czasami zapominamy o ostatnim kroku w naszym pośpiechu, aby naprawić błąd produkcyjny, a następnie nowe wydanie wychodzi bez poprawki dla naszego poprzedniego problemu.

Czy istnieje łatwe polecenie git, które sprawdza, czy wszystkie nasze gałęzie zwalniające zostały połączone w master, a jeśli nie, co zobowiązuje się w jakich oddziałach?

Odpowiedz

5

Możesz spróbować git branch --no-merged master. Powinno to zawierać listę wszystkich gałęzi, które nie zostały połączone w master.

Innym podejściem jest wpisanie git log master..branch, które wyświetli puste wyniki, jeśli oddział zostanie połączony z wzorcem, aw przeciwnym razie wyświetli listę niezamkniętych zatwierdzeń.

+0

Oooo, to jest przydatne! Czy istnieje sposób, aby poprosić o listę konkretnych zobowiązań, które nie zostały połączone? –

+0

Jeśli chcesz listę zatwierdzeń w gałęzi 'inne', które nie zostały połączone w' master', najprostszą rzeczą do zrobienia jest 'git log master..other'. –

+0

Cóż, czekaj, to jeszcze łatwiejsze! Jeśli git log origin/master..origin/releaseX jest pusty, to jest scalony. W przeciwnym razie jest to lista brakujących zatwierdzeń, prawda? –

Powiązane problemy