Mamy gałęzie powstające i rozwijające się. Początkowy stan wzorca został oznaczony jako tag_ABC
.
Mamy kilka zmian w rozwijającej się gałęzi i zepchnęliśmy do początku. Następnie przypadkowo połączyliśmy rozwój w mistrza i zepchnęliśmy do początku.
Teraz chcielibyśmy przywrócić mistrza do punktu kontrolnego tag_ABC
. Jak możemy to zrobić?
git push --force origin master
git reset --hard HEAD^
git reset --hard HEAD^
może być używany wiele razy, aby cofnąć się o jedno zatwierdzenie na raz, a jeśli jest zdalny,git push --force origin master
można go użyć.git pull
igit reset --hard origin/master
To nie jest bezpośrednia odpowiedź na pytanie, ale ta strona powraca, gdy szukamy sposobów na przywrócenie kodu gałęzi do wydania znacznika.
Innym sposobem jest utworzenie różnicy między aktualnym stanem gałęzi a znacznikiem, do którego chcesz powrócić, a następnie zastosowanie go do gałęzi. Dzięki temu historia wersji jest poprawna i pokazuje zmiany, które mają zostać wprowadzone, a następnie wrócą ponownie.
Zakładając, że twoja gałąź nazywa się master, a tag, do którego chcesz wrócić, nazywa się 1.1.1
źródło
cat ~/diff.patch | git apply
, to mi powieerror: unrecognized input
. Dowolny pomysł? @NitinBansal może od czasu, gdy ostatnio skomentowałeś?