Путь Разработчика: 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_