Каков наилучший способ синхронизации устаревшего каталога git с удаленным? - PullRequest
0 голосов
/ 29 января 2012

Я храню свои файлы конфигурации vim на github, чтобы синхронизировать их на нескольких машинах. Время от времени я использую машину, которой не пользовался некоторое время, и файлы vim не синхронизированы. Если я просто

git pull

из удаленного каталога каталог становится грязным, поскольку старые файлы (или переименованные файлы) больше не присутствуют в официальном удаленном хранилище. Так что я обычно делаю, чтобы удалить все и git clone с нуля.

Это лучший подход? В идеале я хотел бы иметь команду

git xxx

которые удаляют / заменяют все, делая идеальную копию пульта

Ответы [ 2 ]

4 голосов
/ 29 января 2012
git fetch origin
git reset --hard origin/master

Где origin - удаленный, а master - удаленный филиал, с которым вы хотите синхронизировать локальную рабочую копию. Обратите внимание, что эти команды заменяют любые локальные файлы (включая изменения) удаленным состоянием. Это означает, что не будет конфликтов слияния. Он имитирует ваш рабочий процесс удаления и восстановления.

1 голос
/ 29 января 2012

git pull слиться с изменениями из апстрима. Затем введите git reset --hard, чтобы вернуть все измененные файлы к их версии, представленной в HEAD.

Существует некоторый риск конфликтов слияния. Ответ Александра избегает тех.

Это не удалит файлы, которые неизвестны Git. За что кричи git clean.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...