Chcę tylko lepiej zrozumieć komunikat ostrzegawczy po usunięciu lokalnego oddziału
ostrzeżenie: usuwanie gałęzi
'old_branch', która została scalona'refs/remotes/origin/old_branch', ale jeszcze nie scalonaHEAD.
Chcę tylko lepiej zrozumieć komunikat ostrzegawczy po usunięciu lokalnego oddziału
ostrzeżenie: usuwanie gałęzi
'old_branch', która została scalona'refs/remotes/origin/old_branch', ale jeszcze nie scalonaHEAD.
Odpowiedzi:
To tylko ostrzeżenie, że zmiany zostały przeniesione do gałęzi origin, ale nie są one scalane master, więc usuwasz je tylko lokalnie.
Ostrzega, że nie masz już lokalnej kopii tego oddziału, ale istnieje w origin
Jeśli chcesz usunąć również zdalną gałąź, użyj git push --delete origin old_branch
masternie jest w to zamieszany. Masz na myśli raczej obecną gałąź. ;)
git branch -d branch_namektóra ma tylko usunąć oddział lokalnie. Dlaczego w tym przypadku potrzebne jest ostrzeżenie?
Zakładając, że aktualnie się masterwyrejestrowałeś, oznacza to, że zmiany wprowadzone w old_branchnie są obecne w master. Jednak one są obecne w old_branchsprawie origin.
HEAD”, HEADtutaj odwołuje się do HEAD lokalnej gałęzi głównej.
masterwyewidencjonowania lokalnie, może to nadal wystąpić, jeśli zmienił się SHA któregokolwiek z zatwierdzeń; tj. oparłeś się origin/old_branchna origin/master. Nawet jeśli było to szybkie przyspieszenie, wygeneruje to nowy SHA dla każdego nowego zatwierdzenia z origin/old_branch, powodując, że git zobaczy oryginalne SHA w twoim lokalnym old_branchjako nie scalone po ściągnięciu zmian do twojego lokalnego masteroddziału. Możesz zobaczyć tę odpowiedź i tę odpowiedź, dlaczego tak się dzieje.
Oznacza to, że Twój lokalny oddział old_branchjest na bieżąco ze zdalnym oddziałem old_branchna zdalnym, originale nie jest scalany z oddziałem, masterktóry jest uważany za główną gałąź w repozytorium.
To tylko środek ostrożności ze strony gita. Daje ci wskazówkę: może wykonałeś swoją pracę w gałęzi tematycznej i zapomniałeś połączyć ją z gałęzią główną?
aktualizacja
Git ostrzega przed utratą zmian. Na przykład, jeśli nie masz swojego old_branchna głównym gicie, nie pozwól ci nawet usunąć gałęzi, która nie jest scalona z masterem (cóż, pozwala, ale z kluczem, -Dktóry jest force-deleteopcją).
master, ale aktualne HEAD.
Aby dodać do innych odpowiedzi, może to również oznaczać, że zmiana może zostać scalona z wzorcem, tylko że lokalna kopia wzorca jeszcze jej nie odzwierciedla. Tak czy inaczej, to tylko informuje cię, że lokalna kopia twojego mastera nie zawiera zmian, które wypchnąłeś na origin. Scalone / Nie połączone ... może, może nie