Git для тестировщика

Изучайте основные сущности и команды Git в безопасной "песочнице".

Что такое Git и GitHub?

Git — это программа на вашем компьютере (система контроля версий), которая отслеживает все изменения в файлах. GitHub (а также GitLab, Bitbucket) — это веб-сервис, который хранит копии ваших Git-репозиториев в облаке и предоставляет удобный интерфейс для совместной работы.

Зачем Git тестировщику?

  • Анализ изменений: Посмотреть, какой именно код изменил разработчик, чтобы составить более точные тест-кейсы.
  • Понимание процесса: Видеть, на каких ветках идёт работа и что войдёт в следующий релиз.
  • Подготовка окружения: В CI/CD-процессах часто нужно "скачать" определённую версию кода для тестирования.
  • Доступ к документации: Иногда техническая документация хранится прямо в репозитории.

Рабочий процесс Git Flow

Это популярная модель ветвления, которая помогает организовать работу в команде. Подробную визуальную схему этого процесса можно посмотреть здесь.

Терминал
git config --global user.name "..."

Настроить имя пользователя.

Для тестировщика: Обязательный первый шаг, чтобы ваши коммиты были подписаны вашим именем.
git init

Создать новый репозиторий в папке.

Для тестировщика: Позволяет начать отслеживать историю изменений в папке с вашими тестовыми артефактами.
git clone [url]

Клонировать удалённый репозиторий.

Для тестировщика: Скачать локально код проекта, чтобы изучить изменения или запустить тесты.
git status

Показать статус текущих изменений.

Для тестировщика: Увидеть, какие файлы были изменены разработчиком в рамках задачи.
git add .

Добавить все измененные файлы для коммита.

Для тестировщика: Подготовить ваши изменения (в автотестах, документации) к сохранению.
git commit -m "..."

Сохранить изменения с комментарием.

Для тестировщика: Зафиксировать изменения с понятным сообщением, например "Добавил тест для формы логина".

Расшифровка статусов git status

  • Untracked: Новые файлы, о которых Git еще не знает.
  • Modified: Файлы, которые были изменены, но не подготовлены к коммиту.
  • Staged: Файлы, которые вы подготовили (через `git add`) и они войдут в следующий коммит.

git branch feature/auth

Создать новую ветку.

Для тестировщика: Создать свою ветку для правок в автотестах.
git checkout feature/auth

Переключиться на другую ветку.

Для тестировщика: Переключиться на ветку разработчика для тестирования.
git merge develop

Слить изменения из другой ветки в текущую.

Для тестировщика: Обновить свою тестовую ветку последними изменениями.
git fetch

Скачать историю с сервера, не меняя код.

Для тестировщика: Посмотреть, какие новые ветки появились на сервере.
git pull

Скачать последние изменения и применить их.

Для тестировщика: Обновить свою локальную копию проекта.
git push origin feature/auth

Отправить свои коммиты на сервер.

Для тестировщика: Поделиться с командой наработками по автотестам.
git reset HEAD~1

Отменить последний коммит, сохранив изменения.

Для тестировщика: Если вы сделали коммит с ошибкой, можно его отменить.
git stash

Временно спрятать несохраненные изменения.

Для тестировщика: Если нужно срочно переключиться на другую ветку.
git stash apply

Вернуть спрятанные изменения обратно.

Для тестировщика: Вернуться к своей работе после срочной задачи.
git log --oneline

Показать краткую историю коммитов.

Для тестировщика: Просмотреть историю изменений в сборке.
git diff

Показать изменения в файлах.

Для тестировщика: Точечно посмотреть, какие строки кода были изменены.
git blame config.js

Показать, кто и когда менял каждую строку.

Для тестировщика: Найти автора изменений, чтобы задать вопросы.
git show [hash]

Показать детали конкретного коммита.

Для тестировщика: Изучить, что именно сломало сборку.
Хотите получить видео и расширенный разбор этого вопроса?
Приобретите курс «Тестирование ПО с нуля. Уровень PRO» по ссылке.