git откат

ivanov77

Новичок
Привет.
Изучаю гит, видюх вводных просмотрел немало, плюс то официальное руководство, до главы 3 (Ветвления) не включая ее проработал.
Сложные вещи уже пошли, но вот один момент, казалось бы самый базовый, ускользает от меня.
Как откатить версию некоего файла к прошлому состоянию, на момент какого то коммита?

Потому что насчет отмен изменений, встретил в доках только такой вариант:
git checkout -- benchmarks.rb
- Отменить текущие изменения и восстановить на состояние предыдущего коммита
Но это только самые последние изменения.
 

fixxxer

К.О.
Партнер клуба
Если это локальные коммиты, которые никуда не запушены - то почему бы и не откатить?

плюс то официальное руководство, до главы 3
Изучай до конца, там позже объясняется в деталях, как гит работает.
Ну, в смысле, если ты имеешь ввиду https://git-scm.com/book/en/v2
 

Вурдалак

Продвинутый новичок
дело в том, что ты и не должен хотеть откатывать коммиты, нежно делать revert, чтобы сохранялась история https://githowto.com/ru/undoing_committed_changes
Всегда себе позволяю делать rebase, когда работаю над веткой один, либо когда ещё изменения не запушены. Никому не нужен мусор в истории из процесса разработки.
 

AmdY

Пью пиво
Команда форума
Я тоже делаю ребейс и сквош в локальной ветке, но на первых порах лучше этого избегать, раз человек ещё с ветками не разобрался.
 

fixxxer

К.О.
Партнер клуба
Если не разобрался с ветками, значит, надо разобраться, это основа git.
 

ivanov77

Новичок
ветки оказались не при чем.

Достаточно было сделать:
Код:
git checkout <hash> -- <имя файла>
И закоммитить эти изменения
 
Сверху