Rozwiązywanie konfliktów za pomocą zdalnych zmian podczas pobierania z Git remote
Próbuję pobrać kod z mojego repo GitHub na mój serwer, ale ciąg nie udaje się z powodu konfliktów scalania. Nie chcę przechowywać żadnych zmian, które mogły wystąpić na moim lokalnym serwerze od ostatniego pull.
Więc czy jest jakiś sposób, aby zmusić Git do nadpisania z jakąkolwiek wersją jest w Githubie, zamiast niepokoić mnie konfliktami?
2 answers
Jeśli naprawdę chcesz odrzucićcommity , które zrobiłeś lokalnie, tzn. nigdy więcej ich nie masz w historii, nie pytasz jak pull - pull oznacza scalanie i nie musisz scalać. Wszystko co musisz zrobić to:
# fetch from the default remote, origin
git fetch
# reset your current branch (master) to origin's master
git reset --hard origin/master
Osobiście zalecałbym stworzenie gałęzi backupu w Twojej obecnej głowie, aby jeśli zdasz sobie sprawę, że to był zły pomysł, nie straciłeś z tym pojęcia.
Jeśli z drugiej strony, chcesz zachować te commity i sprawić, by wyglądały tak, jakbyś po połączeniu z origin, aby zachować tylko wersje z origin, możesz użyć strategii ours
merge:
# fetch from the default remote, origin
git fetch
# create a branch at your current master
git branch old-master
# reset to origin's master
git reset --hard origin/master
# merge your old master, keeping "our" (origin/master's) content
git merge -s ours old-master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-31 17:11:48
Możesz użyć odpowiedzi z duplikatu linku wskazywanego przez nvm.
Lub możesz rozwiązać konflikty za pomocą ich zmian (ale niektóre z Twoich zmian mogą zostać zachowane, jeśli nie są sprzeczne z wersją zdalną):
git pull -s recursive -X theirs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-15 03:11:25