Dla tych, którzy wciąż szukają prostej odpowiedzi, sprawdź git cherry . Porównuje rzeczywiste różnice zamiast zatwierdzania skrótów. Oznacza to, że obsługuje zmiany, które zostały wybrane lub zmienione.
Najpierw sprawdź gałąź, którą chcesz usunąć:
git checkout [branch-to-delete]
następnie użyj git cherry, aby porównać go z główną gałęzią programistyczną:
git cherry -v master
Przykładowe dane wyjściowe:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message
- 85867e38712de930864c5edb7856342e1358b2a0 Yet another message
Uwaga: -v
Flaga ma zawierać komunikat zatwierdzenia wraz z skrótem SHA.
Linie z przodu „+” znajdują się w gałęzi do usunięcia, ale nie w gałęzi głównej. Ci z „-” z przodu mają równoważne zatwierdzenie w master.
Dla JUST zatwierdzeń, które nie są w master, połącz cherry pick z grep:
git cherry -v master | grep "^\+"
Przykładowe dane wyjściowe:
+ 8a14709d08c99c36e907e47f9c4dacebeff46ecb Commit message
+ b30ccc3fb38d3d64c5fef079a761c7e0a5c7da81 Another commit message