Błąd, pomyłka:
I git rebase -i --root
„ed mój oddział, nieświadomie myśli mogłem przeredagować pierwszym popełnienia różniące się od mistrza (na GitHub for Windows widok domyślny jest porównanie do opanowania, ukrywając go w całości).
Zapuściłem brodę z Doliny Krzemowej, podczas gdy ponad 900 zobowiązań załadowało się do Wzniosłości. Wychodząc bez żadnych zmian, naładowałem akumulator, a następnie przystąpiłem do golenia, ponieważ wszystkie ponad 900 pojedynczych osób nonszalancko wycofuje się - resetując teraz swoje czasy zatwierdzania.
Zdeterminowany, aby pokonać Gita i zachować oryginalne czasy, usunąłem to lokalne repozytorium i ponownie sklonowałem ze zdalnego.
Teraz dodano ponownie ostatnie niepotrzebne zatwierdzenie master, które chciałem usunąć, więc postępowałem tak.
Wyczerpanie opcji:
Nie chciałem git revert
- stworzyłoby to dodatkowe zatwierdzenie, dając Git przewagę.
git reset --hard HEAD
nic nie zrobił, po sprawdzeniu reflog
ostatniego i jedynegoHEAD
był klon - Git wygrywa.
Aby uzyskać najnowszą SHA, sprawdziłem zdalne repozytorium na github.com - niewielka wygrana.
Po zastanowieniu git reset --hard <SHA>
zadziałało, zaktualizowałem kolejną gałąź do opanowania i 1 ... 2 ... puf! zatwierdzenie wróciło - Git wygrywa.
Sprawdzanie z powrotem do mistrza, czas spróbować git rebase -i <SHA>
, a następnie usuń linię ... bezskutecznie, przykro mi to mówić. „ Jeśli usuniesz tutaj linię, KTÓRE ZOBOWIĄZANIE ZOSTANĄ UTRACONE ”. Ach ... przeświecał nad nową funkcją trollowania n00b w informacjach o wersji 2.8.3 .
Rozwiązanie:
git rebase -i <SHA>
następnie d, drop = remove commit
.
Aby to sprawdzić, wymeldowałem się do innej gałęzi i voila - brak ukrywania zatwierdzenia pobierania / ściągania z mastera.
https://twitter.com/holman/status/706006896273063936
Miłego dnia.
cherry-pick
a niedelete
pojedyncze zatwierdzenie, które może nastąpić jakiś czas temu.