Konfiguracja testowego repozytorium GIT:
W tej sekcji zamierzam sklonować jeden z moich repozytorium GitHub na moim komputerze, aby skonfigurować repozytorium testowe dla tego artykułu. Jeśli chcesz śledzić, możesz to zrobić. Jeśli masz do pracy własne repozytorium GIT, to świetnie! Możesz go również użyć.
Aby sklonować jedno z moich repozytorium Github (https: // github.com/dev-shovon/my-proct), uruchom następujące polecenie:
$ git clone https: // github.com/dev-shovon/my-project unto_commit_demo
Repozytorium GitHub powinno być sklonowane undo_commit_demo/ informator.
Teraz przejdź do undo_commit_demo/ katalog w następujący sposób:
Zobowiązanie, które chcesz cofnąć, może być w innej gałęzi jak moja. Chcę cofnąć ostatnie zatwierdzenie IE-FIX oddział. Więc muszę pociągnąć gałąź IE-FIX Z mojego repozytorium Github.
Możesz wyciągnąć IE-FIX Oddział od Github w następujący sposób:
$ Git Pull Origin IE-FIX
NOTATKA: Tutaj, IE-FIX to nazwa gałęzi.
IE-FIX gałąź powinna być pociągnięta.
Teraz sprawdź do gałęzi (w moim przypadku, IE-FIX), z którego chcesz cofnąć ostatnie zatwierdzenie w następujący sposób:
$ git kector IE-FIX
Jak widać, ostatni zatwierdzenie IE-FIX gałąź jest AEC00F3. W następnych sekcjach pokażę ci sposoby cofnięcia ostatniego zatwierdzenia w swoim repozytorium Git.
Cofnij ostatnie zatwierdzenie i zachowaj zmiany:
Jednym ze sposobów cofnięcia ostatniego zatwierdzenia jest użycie miękkiego resetowania w repozytorium GIT. Co to jest, ostatni zatwierdzenie zostało usunięte, a zmiany wprowadzone w tym zatwierdzeniu są dodawane do obszaru inscenizacji repozytorium GIT. W ten sposób, jeśli chcesz coś naprawić, możesz zmodyfikować pliki i dodać nowe zatwierdzenie.
Jak widać, ostatni zatwierdzenie w moim IE-FIX gałąź jest AEC00F3.
$ git log -linia
Ponadto mój obszar inscenizacji jest czysty.
Status $ git
Teraz, aby usunąć lub cofnąć ostatnie zatwierdzenie, uruchom następujące polecenie:
$ git reset -Soft Head ~ 1
Jak widać, zatwierdzenie AEC00F3 przepadło.
$ git log -linia
Ponadto plik, który zmodyfikowałem w ostatnim zatwierdzeniu, znajduje się w moim obszarze inscenizacji.
Status $ git
Teraz możesz dalej modyfikować pliki, naprawić popełnione błędy i ponownie popełnić zmiany.
Cofnij ostatnie zatwierdzenie i usuń zmiany:
Jeśli ostatnie zatwierdzenie, które chcesz usunąć, jest dla ciebie bezużyteczne, możesz rozważyć ciężki reset w repozytorium GIT. To, co robi trudny reset, to usuwa ostatnie zatwierdzenie, jak poprzednio. Ale usuwa to również wszystkie zmiany, które dokonałeś w ostatnim zatwierdzeniu. Wykonaj ciężki reset tylko wtedy, gdy jesteś pewien, że nie potrzebujesz już niczego z ostatniego zatwierdzenia.
Zamierzam pociągnąć IE-FIX Oddział z mojego repozytorium Github ponownie, aby odzyskać ostatnie zatwierdzenie AEC00F3 i usuń go ponownie w tej sekcji.
$ Git Pull Origin IE-FIX
Jak widać, ostatni zatwierdzenie powróciło. Jeśli twoje repozytorium GIT jest przesłane do usługi chmur GIT, takiej jak GitHub, możesz przywrócić wszelkie zobowiązanie również błędnie usunąć.
Jak widać, mój obszar inscenizacji jest czysty.
Status $ git
Teraz, aby usunąć ostatni zatwierdzenie i usunąć zmiany tego zatwierdzenia, uruchom następujące polecenie:
$ git reset -twarda głowa ~ 1
Ostatnie zatwierdzenie powinno zostać usunięte, a GŁOWA Wskaźnik powinien zostać zaktualizowany.
Jak widać, zatwierdzenie AEC00F3 jest usuwany i zatwierdzenie bezpośrednio (3fffdee) jest obecnym ostatnim zatwierdzeniem.
$ git log -linia
Obszar inscenizacji jest również czysty. Tak więc istnieją pliki z usuniętego zatwierdzenia.
Status $ git
Aktualizacja zdalnego repozytorium GIT:
Teraz, gdy pomyślnie usunąłeś wadliwy zatwierdzenie ze swojego repozytorium GIT, możesz również zaktualizować swoje repozytorium Github. To jest temat tej sekcji.
Jak widzisz, status git pokazuje również, że jestem 1 z tyłu z zdalnego repozytorium.
Zanim zaktualizowałem moje repozytorium GitHub, zatwierdzenie AEC00F3 istnieje, mimo że usunąłem go z lokalnego repozytorium git, jak widać.
Aby zsynchronizować lokalne repozytorium GIT z repozytorium GitHub, uruchom następujące polecenie:
$ git push-force pochodzenie IE-FIX
Zmiany lokalnego repozytorium GIT powinny być zsynchronizowane z repozytorium GitHub.
Repozytorium GitHub powinno zostać zaktualizowane. Jak widać, zatwierdzenie AEC00F3 nie jest już wymieniony. Zatwierdzenie bezpośrednio AEC00F3, który jest 3fffdee jest teraz ostatnim zatwierdzeniem.
Tak więc cofniesz się ostatnio w git. Dziękujemy za przeczytanie tego artykułu.