Базовые команды Git: `clone`, `add`, `commit`, `push`, `pull`
Теперь, когда мы понимаем, зачем нужен контроль версий, и знаем, что Git — это стандарт в современной разработке, пришло время научиться использовать его в повседневной работе. 🚀
В этой теме мы освоим пять основных команд, которые будут сопровождать вас каждый день на работе: clone, add, commit, push и pull. Это — фундаментальный цикл работы с Git, который повторяется снова и снова.
Основные команды Git: ваш ежедневный рабочий цикл
Представим, что вы приступаете к новому проекту. Первое, что нужно сделать — получить код. Затем вы вносите изменения, сохраняете их, и отправляете обратно, чтобы коллеги могли увидеть вашу работу.
Вот как это выглядит в терминах Git:
git clone— получить копию проектаgit add— выбрать, какие изменения сохранитьgit commit— зафиксировать изменения локальноgit push— отправить изменения в общий репозиторийgit pull— получить изменения от других
Эти команды — основа. Их вы будете использовать каждый день.
Шаг 1: git clone — получение репозитория
Когда вы начинаете работать над проектом, скорее всего, он уже существует. Ваша задача — скопировать его к себе на компьютер.
Для этого используется команда:
git clone https://github.com/username/project.git
Здесь https://github.com/username/project.git — это адрес удалённого репозитория (remote repository).
Удалённый репозиторий — это копия проекта, хранящаяся на сервере (например, на GitHub, GitLab). Она позволяет команде обмениваться изменениями.
После выполнения clone у вас появится папка с проектом, в которой уже настроена вся структура Git. Теперь вы можете работать с кодом локально.
Шаг 2: git add и концепция индекса
Вы внесли изменения — создали новый файл или изменили существующий. Но Git пока не знает, что вы хотите это сохранить.
Перед тем как зафиксировать изменения, нужно добавить их в индекс.
Индекс (staging area) — это промежуточная зона, куда вы помещаете изменения перед тем, как сделать коммит. Это как «черновик» перед публикацией.
Представьте: вы пишете статью и выбираете, какие абзацы уже готовы к публикации. Так и в Git — вы решаете, что именно включить в следующий коммит.
Чтобы добавить изменения в индекс, используйте:
git add hello.py
Если нужно добавить все изменённые файлы:
git add .
⚠️ Ошибка новичков: пропустить
addи сразу сделатьcommit.
Git не зафиксирует изменения, которые не в индексе.
Это как попытка отправить письмо, не добавив текст.
Шаг 3: git commit — фиксация изменений
Теперь, когда изменения в индексе, можно зафиксировать их локально:
git commit -m "Добавлен файл hello.py"
Ключ -m позволяет добавить сообщение — краткое описание изменений.
💡 Хорошее сообщение: "Добавлен файл hello.py"
Плохое сообщение: "Изменения", "fix", "test"
commit создаёт снимок (snapshot) состояния проекта. Он хранится в вашем локальном репозитории — на вашем компьютере.
⚠️ Важно:
commit— это локальное действие. Другие разработчики не видят ваш коммит, пока вы не отправите его в удалённый репозиторий.
Шаг 4: git push — отправка в удалённый репозиторий
Чтобы поделиться своими изменениями с командой, используйте:
git push origin main
Здесь:
origin— стандартное имя удалённого репозиторияmain— ветка (по умолчанию)
🔄 На практике часто используется
git pushбез аргументов — Git запомнит настройки после первого раза.
После push ваш коммит появляется на GitHub. Коллеги могут его увидеть, проверить и использовать.
Шаг 5: git pull — получение чужих изменений
Пока вы работали, кто-то другой мог внести свои правки. Чтобы синхронизировать вашу копию с последними изменениями, используйте:
git pull origin main
Команда pull делает две вещи:
- Забирает новые коммиты с удалённого репозитория (
fetch) - Объединяет их с вашей локальной веткой (
merge)
💡 Представьте, что вы редактируете Google Docs, и нажимаете «обновить» —
pullделает то же самое для кода.
Как всё это работает вместе: практический пример
Давайте пройдём полный цикл.
Представим, вы клонируете учебный репозиторий:
git clone https://github.com/learn-python/git-practice.git
cd git-practice
Создаёте файл hello.py:
print("Hello, Git!")
Теперь — добавляете его в индекс:
git add hello.py
Фиксируете изменения:
git commit -m "Добавлен скрипт приветствия"
И отправляете в удалённый репозиторий:
git push origin main
Отлично! Ваш код теперь в общей базе.
Как проверить, что всё идёт правильно: git status
Перед каждым шагом полезно проверить состояние репозитория:
git status
Эта команда покажет:
- Какие файлы изменены
- Что находится в индексе
- Есть ли несохранённые изменения
🧭
git status— ваш компас в Git. Всегда смотрите сюда, если не уверены, что происходит.
Типичные ситуации и советы
🔁 Всегда делайте
pullпередpush
Это предотвратит конфликты. Если вы пытаетесь запушить, а в удалённом репозитории есть новые коммиты, Git потребует сначала сделатьpull.
📁 Не добавляйте лишнее в коммит
Например, папкуvenv/или файлы__pycache__. Для этого используется файл.gitignore, о нём мы поговорим позже.
🧩 Один коммит — одна логическая задача
Лучше сделать несколько маленьких коммитов, чем один огромный. Так проще отслеживать изменения и откатываться.
Подведём итог
Мы изучили пять ключевых команд:
clone— получить репозиторийadd— добавить изменения в индексcommit— зафиксировать изменения локальноpush— отправить изменения в удалённый репозиторийpull— получить изменения от других
Также мы разобрали важные понятия:
- Удалённый репозиторий — хранится на сервере, доступен команде
- Индекс (staging area) — промежуточная зона перед коммитом
Эти команды — основа вашей ежедневной работы. Их вы будете использовать снова и снова.
Что дальше?
Пока что мы работали в одиночку. Но что произойдёт, если вы и ваш коллега одновременно измените один и тот же файл?
Git сообщит о конфликте слияния, и его нужно будет разрешить.
В следующей теме — Работа с ветками и разрешение конфликтов — мы научимся управлять такими ситуациями и работать в команде без потерь.
Готовы к следующему шагу? 🚀