Принудительно перезаписать локальный файл тем, что находится в исходном репо?

224

Я хочу получить последний файл, который находится в хранилище, и перезаписать то, что у меня есть локально. Как я могу сделать это с клиентом git?

Бланкмэн
источник

Ответы:

443

Если вы хотите перезаписать только один файл:

git fetch
git checkout origin/master <filepath>

Если вы хотите перезаписать все измененные файлы:

git fetch
git reset --hard origin/master

(Это предполагает, что вы работаете masterлокально, и вам нужны изменения в источнике master- если вы находитесь на ветке, замените это вместо.)

янтарный
источник
Это сделало обратное. Он перезаписал хранилище с моими локальными файлами по ошибке.
C_Rod
git fetch git reset --hard origin/masterили/<branch name>
Адриан Филипеску
Это здорово ... Именно то, что я искал. Спасибо
Тьяго Пассос
Не уверен, что сделал @C_Rod, но это не может повлиять на хранилище
Брэд Мейс
26

Простейшая версия, если вы работаете с той же веткой, в которой находится нужный файл:

git checkout path/to/file,

Я делаю это так часто, что у меня установлен псевдоним gc='git checkout'.

JM Janzen
источник
4
Просто, элегантно и делает свое дело. Просто помните, чтобы «git fetch» ​​раньше.
Альмир Кампос
6
git checkout path/to/fileработал на меня. Кроме того, я нашел эту диаграмму очень полезной для концептуального понимания того, что git checkoutделает. ссылка
Кейл Суини
9

Это сработало для меня:

git reset HEAD <filename>
ARN-ARN
источник
Я видел довольно много разных решений, но это самое эффективное, спасибо
Calvin Zhou
3

Полная синхронизация имеет несколько задач:

  • отмена изменений
  • удаление новых файлов
  • получить последнюю информацию из удаленного хранилища

git reset HEAD --hard

git clean -f

мастер происхождения git pull

Или, что я предпочитаю, так это то, что я могу создать новую ветку с последними с удаленного доступа, используя

git checkout origin/master -b <new branch name>

origin - моя ссылка на удаленный репозиторий, а master - мое имя для ветки. Они могут отличаться от ваших.

Чанд Приянкара
источник