Co zrobić z oddziałem po scaleniu


Odpowiedzi:


410

Po scaleniu można bezpiecznie usunąć gałąź:

git branch -d branch1

Dodatkowo git ostrzeże Cię (i odmówi usunięcia gałęzi), jeśli myśli, że jeszcze go nie scaliłeś. Jeśli wymusisz usunięcie gałęzi (z git branch -D), która nie jest jeszcze całkowicie scalona, ​​musisz wykonać kilka sztuczek, aby odzyskać niezmergowane zatwierdzenia (patrz poniżej).

Istnieje jednak kilka powodów, aby trzymać oddział w pobliżu. Na przykład, jeśli jest to gałąź funkcji, możesz chcieć mieć poprawki błędów dla tej funkcji, która wciąż znajduje się w tej gałęzi.

Jeśli chcesz również usunąć oddział na zdalnym hoście, możesz:

git push origin :branch1

Spowoduje to wymuszone usunięcie gałęzi na pilocie (nie wpłynie to jednak na już wypisane repozytoria i nie uniemożliwi nikomu z dostępem push do ponownego wypchnięcia / utworzenia).


git reflogpokazuje ostatnio sprawdzone wersje. Każdy oddział, który sprawdziłeś w najnowszej historii repozytorium, również się tam pojawi. Poza tym git fsckbędzie narzędziem wyboru w każdym przypadku utraty zatwierdzenia w git.


Jeśli chcesz zapisać oddział, możesz utworzyć znacznik przed jego usunięciem. Jeśli chcesz wrócić do tego punktu, możesz pobrać ten tag.
Joqus

3
@Joqus W takim przypadku wolałbym raczej zachować go jako gałąź. Po prostu nie publikuj tego.
Jonas Schäfer

Na wszelki wypadek - jeśli chcesz „całkowicie scalić” gałąź przed usunięciem, po prostu wciśnij tę gałąź po scaleniu, ale przed usunięciem. Coś w stylugit checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
avtomaton

25

Wolę RENAME zamiast DELETE

Wszystkie moje oddziały są nazwane w formie

  • Fix/fix-<somedescription> lub
  • Ftr/ftr-<somedescription> lub
  • itp.

Korzystanie Wieża jak mój git przedniej części, to starannie organizuje wszystko Ftr/, Fix/, Test/itd. W katalogach.
Kiedy skończę z oddziałem, zmieniam ich nazwy na Done/...-<description>.

W ten sposób wciąż tam są (co może być przydatne do dostarczenia historii) i zawsze mogę wrócić, wiedząc, co to było (funkcja, naprawa, testowanie itp.)


4
Czy zmieniasz także nazwy zdalnych gałęzi?
VitalyB

22
Wydaje się zbędne utrzymywanie tych gałęzi i szaleństwo zmieniać ich nazwy . Czy coś mi umyka? Zawsze możesz odtworzyć gałąź. stackoverflow.com/questions/3640764/…
ksav

nie ma sensu utrzymywać oddziałów po ich połączeniu
rastaman

2
+1 za pomysł zmiany nazwy na Napraw, Testuj i Gotowe ... Utrzymanie oddziałów to sposób, w jaki kontrahenci otrzymują wynagrodzenie w mojej firmie.
jpfreire

1

Jeśli pójdziesz dalej i usuniesz gałąź po scaleniu.
Po prostu zadbaj o to, aby
wszystkie odsyłacze do adresów URL odsyłaczy do usuniętych gałęzi były USZKODZONE .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.