Рабочий проект

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

Давайте схематично распишем наши действия из прошлого урока. Мы сперва инициализировали git, затем создали первый коммит, а потом второй:

image.png

<aside> ☝

Если вы добавили в проект gitignore, то у вас будет 3 коммита.

</aside>

Когда вы инициализируете Git в проекте при помощи команды git init, он создает основную линию жизни вашего кода, которую называют "веткой”, на ней будут размещаться ваши узелки (коммиты). Обычно она носит название main или master, в моем случае main, вы можете это заметить в терминале:

image.png

Сперва название проекта, затем git и в круглых скобках название ветки.

Вот так вот наш проект живет себе свою лучшую линию жизни, а потом приходим мы и пытаемся вернуться в прошлое:

<aside> 💡 Напомню, что в прошлом уроке мы остановились на том что перешли на предыдущий коммит и столкнулись с состоянием "detached HEAD"

</aside>

image.png

Переход состоялся, но нас уведомили о том что мы здесь ничего не можем менять в этой точке, мы находимся в состоянии "detached HEAD".

HEAD

Сперва давайте разберемся что же такое HEAD.

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