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

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


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

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

методология_devops:введение_в_систему_контроля_версий_git [2025/05/31 20:07] (текущий)
kirill создано
Строка 1: Строка 1:
 +# Введение в систему контроля версий 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