Заменить перезапись локального файла на то, что оно было репо?

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

Ответ 1

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

git fetch
git checkout origin/master <filepath>

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

git fetch
git reset --hard origin/master

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

Ответ 2

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

git checkout path/to/file.

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

Ответ 3

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

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

git reset HEAD --hard

git clean -f

git основной источник тяги

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

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

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