Mój problem polega na tym, że zmieniłem plik, np .: README, dodałem nowy wiersz „ this for my test line ” i zapisałem plik, a następnie wydałem następujące polecenia
git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: README
#
no changes added to commit (use "git add" and/or "git commit -a")
git add README
git commit -a -m 'To add new line to readme'
Nie wypchnąłem kodu do github, teraz chcę anulować to zatwierdzenie.
Do tego użyłem
git reset --hard HEAD~1
Ale zgubiłem nowo dodaną linię „ to dla mojej linii testowej ” z pliku README. To nie powinno się zdarzyć. Potrzebuję treści, aby tam być. Czy istnieje sposób na zachowanie zawartości i anulowanie mojego lokalnego zatwierdzenia?
git-commit
można przerwać, jeśli zostawisz wiadomość pustą, więc jeśli faktycznie nie ukończyłeś zatwierdzenia, może to być pomocne.
git revert
, co tworzy nowe zatwierdzenie z odwrotnym różnicą cofniętego zatwierdzenia. Resetowanie po prostu wskazuje bieżącą gałąź na inne zatwierdzenie, w tym przypadku przed zatwierdzeniem, które chcesz „zapomnieć”.