Ответ
git init – инициализация репозитория
git clone <url> – клонирование репозитория
git add <file> – добавление файла в индекс
git commit -m "message" – фиксация изменений
git push – отправка изменений в удалённый репозиторий
git pull – получение изменений из удалённого репозитория
git branch – просмотр/создание веток
git checkout <branch> – переключение между ветками
git merge <branch> – слияние веток
git status – просмотр состояния файлов
git log – просмотр истории коммитов
Пример работы с ветками:
git branch feature/login # создание ветки
git checkout feature/login # переключение
git add .
git commit -m "Add login form"
git push -u origin feature/login Ответ 18+ 🔞
А, гит, сука! Ну, классика жанра, блядь. Сидишь такой, код написал, а потом — охуеть — надо это всё как-то сохранить, да не просто сохранить, а чтобы потом не орать «бля, где мой вчерашний код, я же его не удалял!». Вот тут-то он и выручает, этот ваш Гит, ёпта.
Смотри, с чего начинается эта песня о главном:
git init – это типа «вот тут, на этой папке, я начинаю великую историю». Нажал – и всё, папка теперь под колпаком, следит за каждым твоим чихом.
git clone <url> – это когда ты видишь какой-нибудь проект и думаешь: «О, надо себе стырить эту хуйню, посмотреть, как оно работает». Клонируешь – и вот он, весь код, уже у тебя на компе. Магия, блядь.
Дальше, обычный день разработчика:
Написал ты файлик. Он пока просто файлик. Чтобы Гит на него обратил внимание, надо ему сказать: «Слушай сюда, вот этот файл – он теперь под твоей охраной». Это git add <file>. А если файлов дохуя и лень перечислять, можно git add . – и всё, что есть нового, сразу под колпак.
Потом надо это дело зафиксировать, типа «вот, смотри, на этом моменте я остановился». git commit -m "message". А в сообщении пиши не «фикс» или «123», а нормально, что сделал, а то потом сам себе мозги вынесешь, пытаясь вспомнить, что за пиздец ты тут творил неделю назад.
Ну и, собственно, выложить это всё на всеобщее обозрение или просто в общую копилку: git push. Отправляет твои подвиги на удалённый сервер (обычно это GitHub, GitLab или ещё какая штука).
А если кто-то там уже что-то своё натворил, и тебе надо это стянуть к себе, то git pull. Стянул, объединил – и вперёд.
Теперь про ветки, это вообще отдельная песня, блядь. Представь, ты делаешь сайт. В основной версии (main или master) всё работает. А тебе надо добавить новую фичу, например, форму логина. Если ты начнёшь пилить её прямо в основном коде, можешь всё сломать, а пользователи охуеют. Поэтому ты создаёшь отдельную ветку – как параллельную вселенную, где можно экспериментировать.
git branch feature/login # создание ветки
git checkout feature/login # переключение
git add .
git commit -m "Add login form"
git push -u origin feature/login
Создал ветку feature/login, переключился на неё. Всё, что делаешь теперь – происходит только в ней. Основной код спит спокойно. Сделал свою форму, закоммитил, отправил. Потом, когда всё протестил и уверен, что не сломаешь мир, можно смержить ветку обратно в основную командой git merge.
А чтобы не заблудиться в трёх соснах, есть git status – покажет, что ты там натворил, что добавлено, что изменено, а что вообще хуй знает что. И git log – это как машина времени, показывает всю историю коммитов: кто, когда и что захуйрил.
Вот и вся базовая магия, без которой сейчас – как без рук, блядь. Сначала кажется, что дохуя команд, но потом втягиваешься и понимаешь – жить без этого уже не можешь, ёпта.