Инструменты пользователя

Инструменты сайта


методология_devops:введение_в_систему_контроля_версий_git

Введение в систему контроля версий Git

Что такое система контроля версий (СКВ)?

  • Определение: Система, которая записывает изменения в файле или наборе файлов с течением времени, чтобы вы могли в любой момент вернуться к более поздней версии.
  • Зачем это нужно?
    • Отслеживание истории изменений.
    • Возможность вернуться к предыдущим версиям.
    • Совместная работа над проектами.
    • Экспериментирование без риска потерять рабочую версию.
    • Управление различными ветками разработки.

Что такое Git?

  • Определение: Распределенная система контроля версий.
  • Распределенность: Каждая копия репозитория является полноценным репозиторием со всей историей изменений.
  • Автор: Линус Торвальдс (создатель ядра Linux).
  • Основные принципы:
    • Целостность данных.
    • Поддержка нелинейной разработки (ветвление и слияние).
    • Скорость и эффективность.

Основные понятия Git

  • Репозиторий (Repository): Хранилище всех файлов проекта и истории их изменений.
    • Рабочая директория (Working Directory): Каталог с текущими файлами проекта.
    • Индекс (Staging Area): Промежуточная область для подготовки изменений к коммиту.
    • .git директория: Скрытая директория, содержащая метаданные репозитория, историю, конфигурацию и т.д.
  • Коммит (Commit): Снимок состояния репозитория в определенный момент времени с описанием изменений.
    • Содержит информацию об авторе, дате и времени, а также комментарий.
  • Ветка (Branch): Независимая линия разработки.
    • Позволяет разрабатывать новые функции или исправлять ошибки изолированно от основной кодовой базы.
    • main (ранее master): Основная ветка разработки.
  • Слияние (Merge): Процесс объединения изменений из одной ветки в другую.
  • Конфликт (Conflict): Ситуация, когда Git не может автоматически объединить изменения из разных веток.
  • Удаленный репозиторий (Remote Repository): Репозиторий, расположенный на другом сервере (например, GitHub, GitLab, Bitbucket).

Основные команды Git

  • git init: Инициализация нового Git-репозитория в текущей директории.
  • git clone <URL>: Копирование удаленного репозитория на локальную машину.
  • git status: Отображение состояния рабочей директории и индекса.
  • git add <файл> или git add .: Добавление файлов в индекс.
  • git commit -m "<сообщение>": Фиксация изменений из индекса в репозитории с комментарием.
  • git log: Просмотр истории коммитов.
  • git branch: Управление ветками (создание, просмотр, удаление).
    • git branch <имя_ветки>: Создание новой ветки.
    • git branch -d <имя_ветки>: Удаление ветки (после слияния).
    • git branch -D <имя_ветки>: Принудительное удаление ветки.
  • git checkout <имя_ветки>: Переключение на указанную ветку.
    • git checkout -b <новая_ветка>: Создание и переключение на новую ветку.
  • git merge <имя_ветки>: Слияние указанной ветки с текущей.
  • git push <имя_удаленного_репозитория> <имя_ветки>: Отправка локальных коммитов в удаленный репозиторий.
  • git pull <имя_удаленного_репозитория> <имя_ветки>: Получение изменений из удаленного репозитория и их слияние с текущей веткой.
  • git remote add <имя> <URL>: Добавление нового удаленного репозитория.
  • git remote -v: Просмотр списка удаленных репозиториев.

Рабочий процесс с Git (базовый)

  1. Инициализация или клонирование репозитория.
  2. Внесение изменений в файлы.
  3. Добавление измененных файлов в индекс (git add).
  4. Фиксация изменений с помощью коммита (git commit).
  5. Отправка локальных коммитов в удаленный репозиторий (git push).
  6. Получение последних изменений из удаленного репозитория (git pull).

Заключение

  • Git - мощный инструмент для контроля версий.
  • Понимание основных концепций и команд необходимо для эффективной работы.
  • Регулярное использование Git помогает отслеживать изменения, сотрудничать и поддерживать целостность проекта.

Следующие шаги

  • Установка Git на вашу машину.
  • Создание первого локального репозитория.
  • Подключение к удаленному репозиторию (например, на GitHub).
  • Практика с основными командами Git.
методология_devops/введение_в_систему_контроля_версий_git.txt · Последнее изменение: 2025/05/31 20:07 — kirill

DokuWiki Appliance - Powered by TurnKey Linux