Введение / Зачем это нужно
Git — это распределённая система контроля версий, которая отслеживает изменения в файлах, преимущественно исходном коде. Она позволяет:
- Возвращаться к любой предыдущей версии проекта.
- Работать параллельно над разными задачами в отдельных ветках.
- Сотрудничать с другими разработчиками, объединяя изменения.
Это руководство — ваш первый шаг. Вы установите Git, выполните базовую настройку и совершите первые операции: создадите репозиторий, сделаете коммит и клонируете проект с GitHub. Всё это — в терминале macOS.
Требования / Подготовка
Перед началом убедитесь, что у вас есть:
- macOS (версия 12 Monterey или новее).
- Терминал (встроен в macOS, находится в
/Applications/Utilities/). - Homebrew (рекомендуется для установки Git). Если его нет, установите, выполнив в терминале:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Аккаунт на GitHub, GitLab или другом Git-хостинге (для шага с клонированием). Его можно создать позже.
Шаг 1: Установите Git
Самый простой способ установки Git на macOS — через Homebrew.
- Откройте Терминал.
- Обновите список формул Homebrew:
brew update - Установите Git:
brew install git - Проверьте установку, выполнив:
Вывод должен быть примерно таким:git --versiongit version 2.42.0.
Альтернатива: Скачайте установщик с официального сайта Git и запустите его, следуя инструкциям.
Шаг 2: Настройте имя пользователя и email
Git прикрепляет ваше имя и email к каждому коммиту. Это важно для отслеживания, кто и что изменил.
- В терминале выполните команду, подставив свои данные:
Например:git config --global user.name "Ваше Имя Фамилия"git config --global user.name "Иван Петров". - Укажите email (лучше тот, который привязан к вашему аккаунту на GitHub):
git config --global user.email "ваш.email@example.com" - Проверьте конфигурацию:
В выводе найдите строкиgit config --listuser.nameиuser.email.
Шаг 3: Создайте новый локальный репозиторий
Теперь создадим папку проекта и инициализируем в ней Git.
- Создайте новую папку для проекта и перейдите в неё:
mkdir ~/Projects/my-first-repo cd ~/Projects/my-first-repo - Инициализируйте пустой репозиторий Git:
Терминал ответит:git initInitialized empty Git repository in /Users/ваше_имя/Projects/my-first-repo/.git/. - Создайте простой текстовый файл (например,
README.md):echo "# Мой первый проект" > README.md - Добавьте файл в staging area (индекс) — это подготовка файла к коммиту:
Чтобы добавить все файлы в текущей папке, используйтеgit add README.mdgit add .. - Создайте первый коммит — постоянную запись изменений:
Флагgit commit -m "Добавил README.md с описанием проекта"-mпозволяет сразу указать сообщение коммита.
Шаг 4: Склонируйте существующий удалённый репозиторий
Часто вы начинаете работу не с пустой папки, а с уже существующего проекта на GitHub.
- Найдите нужный репозиторий на GitHub (например,
https://github.com/torvalds/linux). - Нажмите кнопку Code и скопируйте URL (рекомендуется HTTPS).
- В терминале перейдите в папку, где хотите разместить проект:
cd ~/Projects - Выполните команду
git cloneс скопированным URL:
Git создаст папкуgit clone https://github.com/torvalds/linux.gitlinuxи загрузит в неё весь проект со всей историей коммитов.
Шаг 5: Просмотрите историю изменений
Увидеть, что и когда менялось, помогает команда git log.
- Перейдите в любой инициализированный или клонированный репозиторий.
- Выполните:
git log
Вы увидите список коммитов в обратном хронологическом порядке (новые сверху). Каждый коммит показывает:- commit (уникальный хэш, например
a1b2c3d). - Author (автор, из вашей конфигурации).
- Date (дата и время).
- Message (ваше сообщение коммита).
Для краткого вывода (одна строка на коммит) используйтеgit log --oneline. - commit (уникальный хэш, например
Шаг 6: Создайте и переключитесь на новую ветку
Ветки (branches) позволяют изолировать разработку новых функций или исправлений от основной кодовой базы (обычно ветка main или master).
- Убедитесь, что вы находитесь в ветке
main:
Звёздочкаgit branch*покажет текущую ветку. - Создайте новую ветку с именем
feature-add-loginи сразу переключитесь на неё:
Или в двух шагах:git checkout -b feature-add-logingit branch feature-add-loginиgit checkout feature-add-login. - Теперь все новые коммиты будут попадать в эту ветку, не затрагивая
main. После завершения работы ветку можно слить (merge) обратно вmain.
Проверка результата
Вы успешно освоили основы, если:
- Команда
git --versionпоказывает установленную версию Git. git config --listсодержит вашиuser.nameиuser.email.- Вы успешно создали локальный репозиторий и сделали коммит (файл
README.mdпоявился в историиgit log). - Вы склонировали удалённый репозиторий и видите его файлы в папке.
- Команда
git branchпоказывает список веток, включая созданную вами.
Возможные проблемы
| Проблема | Возможная причина | Решение |
|---|---|---|
git: command not found | Git не установлен или не добавлен в PATH. | Переустановите Git через Homebrew. Убедитесь, что установка прошла без ошибок. Перезапустите Терминал. |
fatal: not a git repository | Команда Git (например, git commit) выполняется в папке, которая не является репозиторием. | Убедитесь, что вы находитесь внутри папки, где был выполнен git init или git clone. Используйте pwd для проверки текущего пути. |
Ошибка permission denied при git clone | Нет прав на запись в целевую директорию или проблема с SSH-ключами. | 1. Выполните clone в папку, где у вас есть права (например, ~/Projects).2. Для SSH-доступа убедитесь, что ваш публичный ключ ( ~/.ssh/id_rsa.pub) добавлен в настройки аккаунта на GitHub. |
Не вижу изменений после git add | Файл не был изменён или добавлен не тот файл. | Проверьте статус репозитория: git status. Он покажет, какие файлы изменены, готовы к коммиту (Changes to be committed) или неотслеживаемые (Untracked files). |