Если ты когда-нибудь работал с кодом в команде или просто хранишь свои проекты не только на локальном диске, ты точно слышал о Git. Это не просто система контроля версий, а целый культ среди разработчиков. Но если ты только начинаешь разбираться, команды вроде pull
, push
, fetch
и rebase
могут звучать как заклинания из древнего манускрипта. Давай разложим всё по полочкам: что это, зачем, как использовать и как не наломать дров.
Зачем вообще нужен Git?
Git — это твоя страховка от потери кода, конфликтов при работе в команде и случайных факапов. Он позволяет:
- Сохранять историю изменений (и откатываться назад, если надо);
- Работать над разными фичами параллельно (ветки — наше всё);
- Сливать, делить, экспериментировать и не бояться за основной проект;
- Безболезненно делиться кодом с другими разработчиками.
Что потребуется для старта
- ОС: Windows, MacOS или любая Linux — Git работает везде.
- Железо: Любой современный комп, даже Raspberry Pi сойдёт.
- Доступ в интернет (если хочешь работать с удалёнными репами — а ты захочешь).
- Терминал (или PowerShell для винды, Terminal для маков, bash для линукса).
Установка Git (пошагово, без боли)
Windows:
1. Перейди на официальный сайт.
2. Скачай инсталлятор, запусти его.
3. Жми «Next», пока не устанешь. Везде по умолчанию — для старта хватит.
4. После установки открой Git Bash (он появится в меню Пуск).
5. Проверь, что всё ок: git --version
MacOS:
1. Открой Terminal.
2. Вбей brew install git
(если есть Homebrew).
3. Или xcode-select --install
— поставит минимальный git.
4. Проверяй версию: git --version
Linux (Ubuntu/Debian):
1. В терминале: sudo apt update && sudo apt install git
2. Проверяй: git --version
Быстрая настройка после установки
git config --global user.name "Твоё Имя" git config --global user.email "you@example.com"
Это важно: иначе коммиты будут анонимными и тебя не поймут на ревью.
Основные команды: pull, push, fetch, rebase
Вот тот самый список, ради которого ты сюда пришёл:
- git pull — тянет изменения с удалённого репозитория и сразу сливает их в твою текущую ветку.
git pull origin main
- git fetch — просто скачивает все новые коммиты и ветки, но не сливает!
git fetch origin
- git push — отправляет твои коммиты из локальной ветки на удалённый репозиторий.
git push origin feature-branch
- git rebase — переписывает историю коммитов, чтобы твоя ветка выглядела так, будто она основана на самой свежей версии основной ветки.
git rebase main
Вариации и флаги:
git pull --rebase
— подтянуть изменения и сразу сделать rebase, а не merge.git push --force
— пушит с перезаписью истории (осторожно, это ядерная кнопка!).git fetch --all
— скачает все ветки со всех удалённых репозиториев.git rebase -i HEAD~3
— интерактивный rebase последних 3 коммитов (можно склеивать, редактировать, удалять).
Типичные ошибки и как делать НЕ надо
- Не делай
git push --force
без понимания последствий! Ты можешь стереть чужие коммиты с удалённого репозитория. - Не делай rebase на публичных ветках (например, на main/master) — это может поломать историю для других разработчиков.
- Не смешивай fetch и pull без понимания: fetch просто скачивает, pull сразу сливает (и могут быть конфликты).
- Не забывай делать
git status
перед любыми опасными действиями — увидишь, что происходит в репозитории.
Пример из жизни: как это выглядит в реальном проекте
# Ты клонировал репо и работаешь в своей ветке: git checkout -b feature/cool-stuff # Написал код, закоммитил git add . git commit -m "Добавил крутую фичу" # Пока ты писал, коллега запушил изменения в main git fetch origin git rebase origin/main # Переписал свою ветку на свежий main # Всё ок, пушим свою ветку git push origin feature/cool-stuff # Открываешь Pull Request (или Merge Request) — и ждёшь ревью
Заключение
Git — это не страшно, если понять, что делает каждая команда. Не бойся экспериментировать в тестовых репозиториях. Чаще делай git status
и git log
, а если что-то пошло не так — официальная документация всегда под рукой. И помни: лучший способ не сломать прод — это не пушить в main в пятницу вечером.
Ваш отзыв