Путь Разработчика: Git и Терминал

Сократический мини-курс по Git и Командной строке

Путь Разработчика: Git и Терминал

> Путь Разработчика_

Сократический мини-курс по Git и Командной строке

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

Модуль 1: Голос машины (Командная строка)

Графический интерфейс удобен, но терминал дает абсолютную власть. Представь, что у тебя нет мышки. Только черный экран и мигающий курсор.

Ситуация 1: Ты запустил терминал, но совершенно не понимаешь, в какой папке (директории) находишься. Как спросить у системы её текущее местоположение?

Подсказка: подумай о том, как называется команда, которая "печатает" имя текущей директории.

Показать ответ

Команда: pwd (Print Working Directory).

Почему это важно? Прежде чем куда-то идти, нужно понять, где ты находишься. Это фундамент навигации.

Ситуация 2: Ты понял, что находишься в папке /home/user. Рядом есть папка projects. Как в неё войти?

Подсказка: нам нужно "изменить" текущую директорию.

Показать ответ

Команда: cd projects (Change Directory).

Логика: cd — это твой телепорт. Если ты хочешь вернуться на шаг назад, в какую папку ты бы отправился? (Спойлер: cd ..).

Ситуация 3: Ты внутри projects. Ты хочешь узнать, какие файлы и папки здесь лежат, чтобы не создавать дубликаты. Как "осмотреться"?

Показать ответ

Команда: ls (List).

Нюанс: Если ты хочешь увидеть еще и скрытые файлы (которые Git использует для своей магии), какую опцию ты бы добавил? Правильно, ls -a (all).

Модуль 2: Машина времени (Основы Git)

Git — это не просто "облако для кода". Это система сохранения состояний (снимков) твоего проекта во времени.

Ситуация 4: Ты создал новую папку для своего гениального проекта. Как сказать Git: "Слушай, эта папка теперь особенная, следи за ней"?

Подсказка: нужно "инициализировать" (начать) процесс.

Показать ответ

Команда: git init (Initialize).

Что произошло? Git создал невидимую папку .git. Именно там хранится вся история, все снимки и настройки. Удалишь эту папку — Git забудет проект.

Ситуация 5: Ты написал код в файле index.html. Ты хочешь сделать снимок (сохранить версию). Но если ты просто сделаешь снимок, Git его не увидит. Почему? И как заставить Git "посмотреть" на этот файл перед снимком?

Подсказка: представь, что ты собираешь чемодан в поездку. Сначала ты кладешь вещи в коридоре (подготавливаешь), а потом закрываешь чемодан.

Показать ответ

Команда подготовки: git add index.html (или git add . для всех файлов).

Философия: Git не сохраняет всё подряд молча. Он использует "Индекс" (Staging area). Сначала ты говоришь: "Вот эти изменения я хочу сохранить", а потом делаешь снимок. Это дает тебе контроль.

Ситуация 6: Файлы подготовлены (в индексе). Теперь нужно сделать сам "снимок" во времени и подписать его, чтобы потом понять, что ты делал.

Показать ответ

Команда: git commit -m "Добавил базовую структуру HTML"

Почему -m? Это сообщение (message). Хороший разработчик всегда оставляет записку для себя из будущего. "Фикс" — плохая записка. "Исправил баг с кнопкой входа" — хорошая.

Модуль 3: Мультивселенная (Ветвление)

Что делать, если ты хочешь попробовать безумную идею, но боишься сломать работающий код?

Ситуация 7: Ты хочешь переписать дизайн сайта. Но сайт работает, и клиенты не должны это видеть, пока ты не закончишь. Как создать "параллельную реальность" (копию текущего состояния), где ты можешь ломать и чинить всё что угодно?

Подсказка: в Git это называется "веткой" (branch).

Показать ответ

Команда создания и перехода: git checkout -b new-design (или git switch -c new-design в новых версиях).

Магия: Теперь ты в ветке new-design. Всё, что ты здесь изменишь, не повлияет на главную ветку (main или master). Когда идея выстрелит, ты сможешь "слить" (merge) эту реальность с основной.

Ты прошел сократический путь. Ты не просто узнал команды, ты понял зачем они нужны.

Теперь открой терминал и попробуй повторить этот путь своими руками.

> exit_

Теги: Cursor, API