Przypadkowo uruchomiłem polecenie przeciwko niewłaściwemu oddziałowi w moim repozytorium - czy istnieje sposób na cofnięcie tej zmiany?Czy istnieje sposób na cofnięcie efektów "git revert head"?
Odpowiedz
git revert
tylko tworzy nowy popełnić - można „usunąć” ją git reset --hard HEAD^
Uważaj z 'git reset --hard HEAD ^', ponieważ usunie wszelkie niezamówione zmiany. – Jeremen
Jeśli zrobisz 'git stash' przed' git reset --hard HEAD^'możesz" zapisać "twoje niezamówione zmiany. Po 'git reset --hard HEAD ^' wykonaj 'git stash pop', aby ponownie wczytać niezamówione zmiany do bieżącej gałęzi. – kukko
Komenda git revert
właśnie tworzy popełnić że cofa inny (bardziej uważać z nim, choć!). Powinieneś móc ponownie uruchomić git revert HEAD
, a to cofnie twoje poprzednie cofnięcie i doda do tego inne zatwierdzenie. Lub możesz zrobić git reset --hard HEAD~
. Ale uważaj na to ostatnie, ponieważ usuwa dane.
HEAD~
oznacza popełnić przed obecnym HEAD
Nie, nie kasuje danych. Po prostu przesuwa wskaźnik gałęzi. Poprzednie zatwierdzenie nadal istnieje i możesz zobaczyć jego ID, patrząc na 'git reflog' (f.ex.). Zostanie zebrany w ciągu dwóch miesięcy (domyślna konfiguracja), ale możesz wyłączyć automatyczne usuwanie śmieci, a następnie * każdy pojedynczy commit * ty * kiedykolwiek * będzie istnieć na zawsze w tym repozytorium. Nie można do nich dotrzeć za pośrednictwem oddziałów. Ale zawsze można je znaleźć za pomocą 'git fsck', a ja napisałem przepis na przeglądanie wszystkich zatwierdzeń, które używają tego. –
jak o powracanie Przywróć?
dziennika Zobacz git i uzyskać tag hash złej revert:
git log -5
następnie wykonaj odwrócić Cofnij się do:
git revert
-1 spowoduje to utworzenie kolejnego zatwierdzenia, które tak naprawdę nie jest tutaj potrzebne – CharlesB
- 1. Czy krótszy sposób zapisu git diff HEAD^HEAD?
- 2. Czy istnieje sposób na cofnięcie użycia `` `w Julii?
- 3. Czy istnieje sposób na cofnięcie podzielonego okna poniżej w emacs?
- 4. Git Revert Not Working
- 5. git revert w Egit
- 6. Które zatwierdzanie mieszania ma na celu cofnięcie pchanego scalania za pomocą polecenia git-revert?
- 7. hg odpowiednik git revert
- 8. Eclipse git checkout (aka, revert)
- 9. Git HEAD pochodzenie ciągnąć
- 10. Git checkout - przejście z powrotem na HEAD
- 11. Git detached head issue
- 12. Oświadczenie Git "NO-HEAD"
- 13. git revert: Czy możliwe jest zidentyfikowanie potencjalnie sprzecznych commitów przed faktycznym powrotem?
- 14. Git - Ustaw lokalny HEAD na nowego mistrza
- 15. git selective revert zmiany lokalne z pliku
- 16. Czy istnieje sposób na importowanie/eksportowanie skarbca SourceGear do Git
- 17. Czy istnieje prosty sposób na "git opisać" zdalnego repozytorium?
- 18. Klon Git zawiesza się - czy istnieje sposób na kontynuowanie klonowania?
- 19. Czy istnieje sposób na dokonywanie efektów typów danych zdefiniowanych przez użytkownika w MySQL?
- 20. git svn niejednoznaczny argument "HEAD"
- 21. Git. Zdalny HEAD jest niejednoznaczny
- 22. Czy istnieje sposób na git/prune na zdalnym repozytorium Git hostowanym przez TFS 2013?
- 23. Git: przenieś HEAD z powrotem do poprzedniego zatwierdzenia
- 24. Czy svn ma polecenie `revert-all`?
- 25. Czy istnieje hak git, który działa na reset git?
- 26. W jaki sposób wykonać moduł pomocniczy z odłączonym HEAD, aby dołączyć do rzeczywistej HEAD?
- 27. Czy istnieje sposób na wyodrębnianie uników (np. Uncss)?
- 28. Jak mogę zresetować git - hard HEAD na Mercurial?
- 29. Czy istnieje sposób na usunięcie oddziału na heroku?
- 30. Cofnij „git checkout HEAD foo.c” w git SCM
Po zapoznaniu się z dokumentacją resecie oparte na rada poniżej, reset git - hard head ~ 1 rozwiązał to dla mnie. – blueberryfields