Ответ
Основные команды Git для управления репозиторием:
git init– инициализирует новый локальный репозиторий в текущей директории.git clone [url]– создает локальную копию удаленного репозитория.git add [file]– добавляет изменения из рабочей директории в индекс (staging area).git commit -m "message"– фиксирует проиндексированные изменения, создавая новый коммит с описанием.git status– показывает состояние рабочей директории и индекса (измененные, новые, удаленные файлы).git log– отображает историю коммитов текущей ветки.
Команды для работы с ветками и удаленным репозиторием:
git branch– выводит список локальных веток.git checkout [branch]– переключается на указанную ветку.git checkout -b [new-branch]– создает новую ветку и сразу переключается на нее.git merge [branch]– сливает указанную ветку в текущую.git push– отправляет коммиты из локальной ветки в удаленный репозиторий.git pull– загружает изменения из удаленного репозитория и сливает их с текущей локальной веткой (эквивалентноgit fetch+git merge).
Пример рабочего процесса с веткой:
# Создание новой ветки для задачи
$ git checkout -b feature/new-login
# Добавление изменений и коммит
$ git add .
$ git commit -m "Add login screen UI"
# Публикация ветки в удаленный репозиторий
$ git push -u origin feature/new-login Ответ 18+ 🔞
А, так вот ты как, Гит, сука, работаешь! Ну-ка, давай разберём эту вашу магию, а то народ безмозглый, блядь, путается в трёх соснах и в трёх командах. Сидит, как Герасим, и мычит "му-му", а нихуя не понятно.
Смотри сюда, вот тебе база, без которой ты — просто папка с файлами, мартышлюшка.
Чтобы начать этот цирк:
git init– это как крикнуть "Ёбаный театр начинается!" в пустой папке. Теперь тут репозиторий, и Гит за тобой следит.git clone [url]– это когда ты видишь чужую крутую штуку и думаешь: "Хочу такую же, нахуй!". Качаешь себе весь проект целиком, со всей его историей и грехами.git add [file]– о, это важно! Ты сделал работу, но Гит её ещё не видит. Этой командой ты суёшь файлы ему в лицо: "Смотри, блядь, что я натворил! Запоминай!" (Это staging area, или индекс, для умных).git commit -m "message"– а вот тут ты уже официально закрепляешь результат. Как печать поставил. "Всё, я это сделал, вот описание, и назад пути нет". Только пиши нормальные сообщения, а не "чё-то сделал", а то сам потом охуеешь.git status– лучший друг параноика. Показывает, что ты там намудрил, что готово к коммиту, а что Гит вообще в упор не видит. Запускай почаще, чтобы не было сюрпризов.git log– история твоих пакостей в обратном порядке. Кто, когда и что накоммитил. Можно с попкорном смотреть.
А теперь про ветки, потому что работать в одной — это как всем сериться в один сортир:
git branch– показывает, какие у тебя вообще есть ветки и на какой ты сейчас сидишь.git checkout [branch]– прыжок с одной ветки на другую. Вжух — и ты уже в другом измерении.git checkout -b [new-branch]– а это создание новой ветки и прыжок на неё одной командой. Чтоб не дрочиться. "Хочу поэкспериментировать, но боюсь всё сломать" — вот решение.git merge [branch]– слияние. Ты накопал в своей экспериментальной ветке что-то годное и теперь говоришь: "Так, основная ветка, вбирай в себя эту хуйню, она проверенная".git push– это когда ты устал от одиночества и кричишь на весь удалённый сервер (типа GitHub): "Эй, пидары, смотрите, что я сделал! Берите мои коммиты!"git pull– а это наоборот. Ты смотришь, что эти пидары натворили без тебя, и подтягиваешь их изменения к себе, чтобы не отставать.
Ну и пример, как это всё вместе выглядит в жизни, а не в учебнике:
# Решил сделать новую фичу для логина. Делаем отдельную ветку, чтоб не нагадить в основном.
$ git checkout -b feature/new-login
# Наваял кучу файлов. Добавляю их все под контроль.
$ git add .
# Фиксирую, как полковник на плацу.
$ git commit -m "Add login screen UI"
# А теперь выкладываю свою ветку на всеобщее обозрение, пусть коллеги охуевают.
$ git push -u origin feature/new-login
Вот и вся магия, ёпта. Главное — не бздеть и почаще коммитить. А то будешь как тот чувак, который неделю кодит, а потом git status показывает овердохуища изменений, и волнение ебать, с чего начинать. Пиздец, а не жизнь.