Czy podczas korzystania z git istnieje sposób na pokazanie zatwierdzeń wykonanych w gałęzi, z pominięciem wszystkich zatwierdzeń, które zostały wprowadzone przez scalenie?
Próbuję przejrzeć zmiany w kodzie dokonane w gałęzi, ignorując te, które wprowadziliśmy w innych gałęziach, które zostały scalone. Wiem, że pokazanie różnicy w ten sposób jest prawie niemożliwe, ale chciałbym móc dowiedz się, które zobowiązania muszę przejrzeć.
Możesz użyć
git cherry
do tego, znajdzie zatwierdzenia, które nie zostały jeszcze scalone z nadrzędnym kanałem lub zatwierdzenia, które są w jednej gałęzi, ale nie w drugiej. Mając więc dwie gałęzie nazwane „twoja-gałąź” i „główna”:przedstawi listę zatwierdzeń w porównaniu z ich identyfikatorem poprawki:
Możesz zauważyć, że zatwierdzenia poprzedzone znakiem „-” to te, które pojawiają się w obu gałęziach, podczas gdy te z prefiksem „+” są dostępne tylko w Twojej gałęzi.
Alternatywnie możesz użyć:
który pokaże listę zatwierdzeń wykonanych na "twojej-gałęzi", których jeszcze nie ma na "master"
źródło
Bardzo hakerski sposób:
git log --graph --oneline --no-merges thebranch|grep '^\*'
źródło