Nota prawna: Nie jestem użytkownikiem hg, więc przeczytałem o hg, ale nie mam zbyt dużego doświadczenia z jej używania.
git dostarcza kilku bardzo potężnych i elastycznych narzędzi do zarządzania oddziałami w stylu 'kolejki łatek', więc dla wielu podstawowych (a nawet dość złożonych) przypadków użycia, rodzimy git jest wystarczająco potężny.
Zazwyczaj większość projektów utrzymuje centralny stały oddział główny, który tylko zyskuje nowe zatwierdzenia i nigdy nie jest "przewijany", więc zatwierdzenia w gałęzi głównej są stałe. Ponadto, opiekun (lub programista) może utrzymywać jedną lub więcej płynnych gałęzi łatek roboczych w toku (tj. Zatwierdzeń) opartych na stabilnym odgałęzieniu.
typowych działań zarządza plastra są:
przebazowania kolejkę plastra najnowszą stabilnej - stosować git rebase
,
powielenie kolejkę plastra starej maintentance gałęzi - stosować git branch
i git rebase
,
zmiana kolejności poprawek w kolejce - użyj git rebase --interactive
(alias git rebase -i
) za pomocą edytora tekstu, aby zmienić kolejność kolejki.
zgniecenia łaty - użyj git rebase -i
z dyrektywą squash
poprawki zmieniające lub łata popełnić wiadomości - użyj git rebase -i
(spot motyw?) Z dyrektywą edycji.
Każda czynność, która w jakikolwiek sposób zmieni łatkę (tj. Jej zawartość, opis lub pochodzenie), utworzy nowe zatwierdzenie z nowym identyfikatorem zatwierdzenia dla tej poprawki. Fakt, że stare commity mogą być wyrzucane i regularnie wymieniane przed awansem do stabilnej gałęzi głównej, jest jedyną rzeczą, która czyni je "kolejką łatki", a nie odgałęzieniem, ale jest to raczej konwencja projektu niż jakakolwiek fizyczna różnica w danych, które składają się na zatwierdzenia. Aby git są identyczne obiekty.
Aby promować poprawkę do "prawdziwego" zatwierdzenia, wystarczy przenieść poprawkę na wierzch kolejki i połączyć ją w gałąź główna. Po przeniesieniu łaty do przodu kolejki, jest to to samo, co normalne zatwierdzenie oparte na gałęzi głównej, więc połączenie go po prostu przeskakuje wskaźnik gałęzi głównej do punktu zatwierdzenia poprawki.
Opublikowanie tego zatwierdzenia jako "stabilnej" poprawki głównej to akt, który mówi: to jest zobowiązanie, które się nie zmieni i jest częścią niezmiennej historii projektu.
Rzecz w tym, że potrzebujemy czegoś takiego w bardzo rzadkiej sytuacji. – shabunc