Z komentarzy:
Niezgodny z --interactive option
Właściwie ... nie jest już niekompatybilny z Git 2.29 (Q4 2020): „ git rebase -i” ( man ) uczy się nieco więcej opcji .
Opcje zgodne z:
Zobacz commit 6160b2e (26 sierpnia 2020) autorstwa Junio C Hamano ( gitster) .
Zobacz commit 2712669 (17 sierpnia 2020) i commit ef484ad (13 Jul 2020) autorstwa Rohita Ashiwala ( r1walz) .
Zobacz commit a3894aa , commit 7573cec , commit e8cbe21 (17 sierpnia 2020) autorstwa Phillip Wood ( phillipwood) .
(Scalone przez Junio C Hamano - gitster- w zobowiązaniu 9c31b19 , 03 września 2020 r.)
rebase -i: wsparcie --ignore-date
Oryginalna naszywka-przez: Rohit Ashiwal
Podpisana-przez: Phillip Wood
Rebase jest implementowany z dwoma różnymi backendami - „ apply” i „ merge”, z których każdy obsługuje inny zestaw opcji.
W szczególności backend Apply obsługuje szereg opcji zaimplementowanych przez ' ( man ) ', które nie są zaimplementowane w backendie scalającym.
Oznacza to, że dostępne opcje są różne w zależności od używanego zaplecza, co jest mylące.git am
Ta poprawka dodaje obsługę --ignore-dateopcji do zaplecza scalania.
Ta opcja używa aktualnego czasu jako daty autora, zamiast ponownie używać oryginalnej daty autora podczas przepisywania zatwierdzeń.
Dbamy o to, aby obsłużyć połączenie --ignore-datei --committer-date-is-author-datew taki sam sposób, jak backend aplikacji.
I:
rebase: Dodaj --reset-author-date
Pomoc: Junio C Hamano
Podpisał: Rohit Ashiwal
W poprzednim zatwierdzeniu wprowadzono --ignore-dateflagę do rebase -i, ale nazwa jest raczej niejasna, ponieważ nie mówi, czy data autora lub autorki jest ignorowana.
Dodaj alias, aby określić dokładny cel.
--reset-author-date
Również:
rebase -i: support --committer-date-is-author-date
Oryginalna naszywka-przez: Rohit Ashiwal
Podpisana-przez: Phillip Wood
Ta poprawka dodaje obsługę --committer-date-is-author-dateopcji do zaplecza scalania.
Ta opcja używa daty autora przepisywanego zatwierdzenia jako daty osoby zatwierdzającej, kiedy tworzone jest nowe zatwierdzenie.
git rebaseteraz zawiera na swojej stronie podręcznika :
--committer-date-is-author-date:
Zamiast używać aktualnego czasu jako daty zatwierdzającego, użyj daty autora zmiany podstawy zatwierdzenia jako daty zatwierdzającego.
Ta opcja implikuje --force-rebase.
git rebasezawiera również na swojej stronie podręcznika :
--ignore-date:
Ta flaga jest przekazywana do 'git am', aby zmienić datę autora każdego zatwierdzenia zmiany bazy (zobacz git am).
Zauważ, że w 2.29 (powyżej), " --committer-date-is-author-date" opcja " rebase" i " am" komend przez pomyłkę straciła adres e-mail, co zostało poprawione w Git 2.29.1 (Q4 2020).
Zobacz commit 5f35edd , commit 16b0bb9 , commit 56706db (23 października 2020) autor: Jeff King ( peff) .
(Scalone przez Junio C Hamano - gitster- w zatwierdzeniu f34687d , 26 października 2020 r.)
am: napraw uszkodzony e-mail z --committer-date-is-author-date
Podpisał: Jeff King
Commit e8cbe2118a ( am: przestań eksportować GIT_COMMITTER_DATE,2020-08-17) przepisał kod do ustawiania daty autora do użycia fmt_ident(), zamiast ustawiania zmiennej środowiskowej i pozwalania na commit_tree()jej obsługę.
Ale wprowadził dwa błędy:
- używamy ciągu wiadomości e-mail autora zamiast wiadomości e-mail osoby zatwierdzającej
- podczas parsowania identyfikatora polecającego użyliśmy złej zmiennej do obliczenia długości wiadomości e-mail, w wyniku czego zawsze był to ciąg o zerowej długości
To zatwierdzenie naprawia oba, co powoduje, że testowanie tej opcji przez applybackend rebase " " kończy się sukcesem.
I:
rebase: napraw uszkodzony e-mail za pomocą --committer-date-is-author-date
Zgłoszone przez: VenomVendor
Podpisane przez: Jeff King
Commit 7573cec52c ("rebase -i: support --committer-date-is-author-date", 2020-08-17, Git v2.29.0-rc0 - merge wymienione w partii nr 13 ) skopiował kod analizujący ident-parsing committera od builtin/am.c.
Robiąc to, skopiował błąd, w którym zawsze ustawialiśmy wiadomość e-mail na pusty ciąg.
Poprawiliśmy wersję w git-ampoprzednim zatwierdzeniu; to zatwierdzenie naprawia skopiowany kod.
git rebase --rootlub-i, with--reset-author-datebędzie działać. Zobacz moją odpowiedź poniżej