Перейти к содержимому

Как переключаться между коммитами git

  • автор:

Как переключаться между коммитами git

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2023. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

GitHub, возможно ли переключение между commit`ами?

Попали с товарищем в такую ситуацию, что необходимо нам писать 1 проект на двоих. Решили для удобства освоить Git. Ну и поскольку с консолью не сильно дружим (надеюсь пока-что). Пытаемся сделать все при помощи клиента от GitHub. Завели репозиторий, получили оба к нему права, создали несколько commit`ов. И собственно говоря назрел вопрос, а как теперь например откатываться между ними? Сам клиент упорно скачивает последнюю версию кода и все бы хорошо, но если я хочу вернуться к той версии, которая была день назад?

  • Вопрос задан более трёх лет назад
  • 3407 просмотров

Комментировать

Решения вопроса 1

iamnothing @iamnothing

Используйте ветки (branches) — в них нет ничего страшного 🙂 Прыгать между ветками/коммитами/тегами позволяет ‘git checkout’

Ответ написан более трёх лет назад

Комментировать

Нравится 2 Комментировать

git checkout Переключение на конкретный коммит в ветке, а затем назад на последий. Как вернуться на последний коммит в ветке

vedro-compota's picture

Предположим, что вы находитесь на ветке мояветка1 и вам надо переключиться на состояние коммита с хэшем a1ddc3, тогда можно:

    Переключиться на указанный коммит:

git checkout a1ddc3
git checkout мояветка1

Key Words for FKN + antitotal forum (CS VSU):

  • git
  • checkout concrete commi and back
  • git checkout
  • go back to a specific commit then go back to the present
  • checkout to commit and back
  • switch

Как переключаться между коммитами git

Один из первых вопросов, который возник у меня при изучении Git — как переключиться на более раннюю фиксацию (т. е. старый commit), чтобы вернуть предыдущее состояние рабочего каталога проекта?

1. Сначала командой git log выведите список фиксаций, чтобы узнать их хеши, например:

$ git log --pretty=oneline 1b11970fd272176da7872f5b9f7a6c2b5c95b4be (HEAD -> master, origin/master, origin/HEAD) 220209 рег. громк. Si4735 23cc805326427be3db40bcb5d2829311478d29b1 220201 косметические исправления в команде tp f2459c4624ef818e06959ba5fe4c15c1e37d35d4 220127 Исправил влево-вправо для курсора 93daeff2400033f00e5adbf04fb68cab27e7f9ff 220123 Добавил кнопки TX и RX 509c2f29d919624d3b333fb819a08d94676652bd 220128 Исправил DEL, добавил индикатор РУС-ENG-dig 6c432e5613e0f099ec575833c5aabbc63e681df6 220115 Исправление режимов под клавиатуру TCA8418 65b292b712292b7ed6e88b7e5e2eadea480a52e9 220111 Исправил ошибку обработки ~INT для TCA8418 9048b714cbd83d3c3edffb5f8890ef9c935ef027 220110 Продолжение работы над TCA8418 2fb1f10e57de7bc3887574212172bb772c0d8f9f 220109 Начало добавления новой клавиатуры на TCA8418 1281f26518378f44ea669a3fd96317a391d7745c 211121 CMSIS в отдельной библиотеке 1f920bb4327e43b58b6b3f735a63a21759dab351 211120 Драйверы HAL в отдельной библиотеке ab331d95634e248d9bbe4b291614e798c3ccc56d 220128 Исправил маяки и передачу. 7ad03121d46f6ef7c7f992aaff6f033f1d6d3dc8 211119 Исправил перекос в меню настроек : 

Подсказка: двоеточие в конце выведенного лога означает, что его можно либо продолжить клавишей Page Down (лог можно листать вверх/вниз клавишами прокрутки страниц), либо выйти из отображения лога в приглашение команд, если нажать на клавишу q.

2. Выберите тот commit, к которому хотите откатиться. Предположим, это будет фиксация с комментарием «220123 Добавил кнопки TX и RX», у которой хеш 93daeff2400033f00e5adbf04fb68cab27e7f9ff. Чтобы откатиться к этой фиксации, будем использовать команду git checkout , и для этого нам достаточно знать только шесть начальных HEX-символов хеша 93daef:

$ git checkout 93daef Note: switching to '93daef'. 
You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. 
If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: 
 git switch -c
Or undo this operation with: git switch - 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *