Принудительно перезаписать локальный файл с помощью репо? - PullRequest
191 голосов
/ 16 октября 2010

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

Ответы [ 4 ]

384 голосов
/ 16 октября 2010

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

git fetch
git checkout origin/master <filepath>

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

git fetch
git reset --hard origin/master

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

18 голосов
/ 31 марта 2016

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

git checkout path/to/file.

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

4 голосов
/ 02 мая 2018

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

git reset HEAD <filename>
3 голосов
/ 05 апреля 2014

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

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

git reset HEAD --hard

git clean -f

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

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

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

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

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