/ / Jak znaleźć lokalne gałęzie git, które zostały usunięte z master - git

Jak znaleźć lokalne gałęzie git, które zostały usunięte z master - git

W naszym przepływie pracy gałęzie programistyczne, które są gotowe do produkcji, są wypychane do zdalnego repozytorium śledzenia, gdzie są łączone w master. Gałąź jest usuwana po przejściu testów.

Byłem zły w usuwaniu mojej lokalnej wersji tych gałęzi programistycznych, więc teraz mam wiele lokalnych gałęzi, które nie mają odpowiadającej gałęzi na początku.

Czy istnieje szybki sposób na sprawdzenie, które gałęzie w moim repozytorium zostały już usunięte ze zdalnego repozytorium?

Odpowiedzi:

7 dla odpowiedzi № 1

Znajdowanie i usuwanie lokalnych oddziałów pod pozycjami / główkami

Zakładając, że oryginalny plakat oznacza, że ​​chce usunąć lokalne oddziały refs/heads a nie gałęzie zdalnego śledzenia w refs/remotes/origin, aby znaleźć gałęzie, które już zostały połączone origin/master, po prostu użyj następującego:

# Fetch latest copy of origin/master
$ git fetch origin

# Find merged branches
$ git branch --merged origin/master

Dane wyjściowe pokażą gałęzie, które zostały scalone nto origin/master, a zatem można je bezpiecznie usunąć za pomocą git branch -d <branch>. Od oficjalna dokumentacja Linux Kernel Git dla git branch:

„--merged” służy do znajdowania wszystkich gałęzi, które można bezpiecznie usunąć, ponieważ gałęzie te są w pełni zawarte przez HEAD.

Usuwanie oddziałów zdalnego śledzenia w obszarze referencji / pilotów / pochodzenia

Jeśli z drugiej strony oryginalny plakat oznaczał, że chce usunąć swoje gałęzie zdalnego śledzenia, po prostu przekaż go -p lub --prune flagi do git fetch:

$ git fetch -p origin

Od oficjalna dokumentacja Linux Kernel Git dla git fetch:

Po pobraniu usuń wszystkie gałęzie zdalnego śledzenia, które już nie istnieją na pilocie.


2 dla odpowiedzi nr 2
git fetch -p

Z instrukcji:

-p, - śliwka Po pobraniu usuń wszystkie gałęzie zdalnego śledzenia, które już nie istnieją na pilocie.