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 HEADnic nie zrobił, po sprawdzeniu reflogostatniego 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-picka niedeletepojedyncze zatwierdzenie, które może nastąpić jakiś czas temu.