⚠ Ważne: jeśli masz jakieś zmiany lokalne, zostaną one utracone. Z opcją --hard
lub bez niej wszelkie lokalne zatwierdzenia, które nie zostały przekazane, zostaną utracone.[*]
Jeśli masz jakieś pliki, które nie są śledzone przez Git (np. przesłane treści użytkowników), nie będzie to miało wpływu na te pliki.
Najpierw uruchom pobieranie, aby zaktualizować wszystkie origin/<branch>
referencje do najnowszych:
git fetch --all
Utwórz kopię zapasową bieżącego oddziału:
git branch backup-master
Następnie masz dwie opcje:
git reset --hard origin/master
LUB Jeśli jesteś w innym oddziale:
git reset --hard origin/<branch_name>
Wyjaśnienie:
git fetch
pobiera najnowszą wersję ze zdalnego komputera, bez konieczności łączenia lub zmiany bazy.
Następnie git reset
resetuje gałąź główną do tego, co właśnie pobrałeś. Opcja --hard
zmienia wszystkie pliki w drzewie roboczym tak, aby pasowały do plików w origin/master
Utrzymuj bieżące zobowiązania lokalne
[*]: Warto zauważyć, że możliwe jest utrzymanie bieżących zatwierdzeń lokalnych poprzez utworzenie gałęzi z master
przed zresetowaniem:
git checkout master
git branch new-branch-to-save-current-commits
git fetch --all
git reset --hard origin/master
Następnie wszystkie stare zatwierdzenia zostaną zachowane w new-branch-to-save-current-commits
.
Niezatwierdzone zmiany
Jednak niezatwierdzone zmiany (nawet przestawione) zostaną utracone. Pamiętaj, aby przechowywać i zatwierdzać wszystko, czego potrzebujesz. W tym celu możesz uruchomić następujące czynności:
git stash
A następnie, aby ponownie zastosować te niezatwierdzone zmiany:
git stash pop
person
RNA
schedule
17.01.2012
git branch <branch> -D
2. Zresetuj do zatwierdzenia przed konfliktem:git reset <commit> --hard
3. Utwórz ponownie gałąź:git branch <branch>
4. Ustaw śledzenie na serwerze:git --set-upstream-to=origin/<branch> <branch> 5. Pull:
git pull` - person Nino Filiu   schedule 24.09.2018git config core.autocrlf false; git ls-files -z | xargs -0 rm; git checkout .
- person Chloe   schedule 17.01.2019git checkout <branch> && git add -A . && git reset --hard origin/<branch> && git pull
. Zobacz stackoverflow.com/a/65239330. - person Henke   schedule 08.01.2021