@beduin01

Как вытянуть ревизию с github?

Ситуация простая. Я закоммитил в репозитарий исправление кода. Потом поредактировал код и решил откатиться именно к той закоммиченной версии. Делаю git pull -- Система говорит, что "все уже обновлено". Подозреваю потому что я ничего еще из этого кода не коммитил.

Как мне не делая этот коммит просто откатиться до предыдущего состояния?
И чем fetch отличается от pull?
  • Вопрос задан
  • 3424 просмотра
Решения вопроса 1
@askarik
веб-разработчик
... решил откатиться именно к той закоммиченной версии.

если вы после последнего коммита не делали других коммитов, и вам надо привести файлы в рабочем каталоге в состояние последнего коммита, то достаточно сделать так:
git checkout .
эта команда удалит все ваши изменения, которые Вы сделали. Будьте осторожны! Перед этим лучше сделать
git stash save
команда stash сохранит ваши изменения с рабочего каталога. В дальнейшем Вы их сможете от туда вытащить командой
git stash apply
по каждой команде лучше прочитать документацию
git stash --help
git chechout --help
опция --help выведет полную документацию по команде
рекомендую прочитать на этом сайте документацию на русском

если надо откатиться к конкретному коммиту, то также пользуйтесь git checkout, вот кусок с документации
git checkout commit
где commit - это хеш код коммита, его можно увидеть через git log

лучшей практикой будет использование веток - branch вот тут отлично всё расписано
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
v_decadence
@v_decadence
git pull = git fetch + git merge
То есть pull - это получение новых данных с origin (fetch) и слив их с текущей веткой. fetch просто получает новые данные (коммиты), но не сливает их в текущую локальную ветку.

Откат к предыдущему коммиту (если ненужные изменения вы не коммитили, то есть сброс изменений): git checkout HEAD . (точка - часть команды)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы