Porównując ze standardem push/pull, jakie są zalety używania polecenia rebase w Mercurial?Co jest zaletą polecenia rebase w Mercurial?
Odpowiedz
This post ma ładne wyjaśnienie:
Odpowiedź leży w podścielanie. Rebasing to technika upowszechniana przez gita, w której przepisujesz swoje jeszcze nie pchane łaty, tak aby były stosowane przeciwko aktualnej, zdalnej końcówce, a nie przeciwko czubkowi repozytorium, z którego ostatnio korzystałeś. Korzyścią jest to, że twoja historia scalania pokazuje użyteczne scalenia - połączenia między głównymi gałęziami - zamiast po prostu każdego scalenia, jakie zrobiłeś z repozytorium wyższego szczebla.
Normalne ciągnięcie, scalanie, sekwencja wypychania utworzy liczbę zatwierdzeń, które nie są zbyt przydatne pod względem historii repozytorium. Rebasing pomaga wyeliminować te.
Jeśli wykonasz sekwencję push-merge-push i uzyskasz "scalenie", możesz zawsze "wycofać" zatwierdzenie "scalania". W ten sposób masz łatwy sposób na "cofnięcie pchnięcia". Nie wiem, czy istnieje równoważny łatwy sposób, gdy używam rebase.
Polecenie rebase pominie operację scalania, nie będzie więc konieczności wycofywania się ze złego scalenia. – Vincent
Nie rozumiem twojego komentarza .. Chodzi mi o to, że używając scalania, łatwo jest "wycofać" złe pushowanie. Jak to zrobić z rebase? – Guy
Podczas korzystania z polecenia rebase nie ma operacji scalania. Więc nie można mieć "złego scalenia". Jeśli wykonasz push po przebiciu, a to nie jest dobre, zawsze możesz się wycofać. – Vincent
Wyczyść odpowiedź, dziękuję Vincent. Z mojej perspektywy jednak myślę, że gdyby to wszystko było możliwe, nie byłoby warte dodania nowej funkcji i nowej koncepcji dla użytkowników. –
nie musisz używać przebijania, zawsze możesz rozgałęziać się i scalać. iirc rebase nie jest domyślnie włączony w mecurial –
@jk Jeśli domyślnie nie jest włączony, czy dobrym pomysłem jest poproszenie wszystkich programistów o włączenie? Co się stanie, jeśli ktoś tego nie zrobi? – Vincent