1. Базовые команды Git и уверенная работа в терминале
Работа тестировщика давно вышла за рамки простого нажатия кнопок в интерфейсе. Современный QA-инженер работает с кодом автотестов, проверяет конфигурационные файлы и тесно взаимодействует с разработчиками. В центре этого взаимодействия находится система контроля версий Git. Использование графических интерфейсов (GUI) для Git может казаться удобным на старте, но именно работа в терминале дает полный контроль, скорость и глубокое понимание процессов. Терминал не скрывает от вас детали и позволяет точно знать, что происходит с кодом в любую секунду.
Философия Git: три состояния файла
Прежде чем заучивать команды, необходимо понять базовую архитектуру Git. Это фундамент, без которого любая ошибка в терминале будет вызывать панику. В Git файлы всегда находятся в одном из трех основных состояний.
.git), где хранятся все сохраненные версии вашего проекта.Представьте, что вы собираете чемодан в отпуск. Ваша квартира с разбросанными вещами — это рабочая директория. Кровать, на которую вы складываете только те вещи, которые точно возьмете с собой — это индекс. А закрытый чемодан, готовый к отправке — это репозиторий. Вы можете убрать вещь с кровати обратно в шкаф до того, как закроете чемодан.
Первые шаги: настройка и инициализация
Любая работа начинается с представления. Git должен знать, кто именно вносит изменения. Это критически важно для командной работы: если ночной прогон автотестов упал из-за синтаксической ошибки, команда должна знать, к кому обратиться за исправлениями.
Для настройки имени и электронной почты используется команда git config с флагом глобального применения:
Чтобы превратить обычную папку с вашими тестовыми скриптами в проект, который отслеживается системой контроля версий, используется команда инициализации:
После ввода этой команды в папке создается скрытая директория .git. Именно в ней Git будет хранить всю историю изменений. Если вы удалите эту папку, файлы проекта останутся на месте, но вся история версий будет безвозвратно потеряна.
Повседневный цикл QA-инженера: от изменения до сохранения
Типичный рабочий день инженера по автоматизации состоит из написания новых тестов, актуализации старых и анализа результатов. Этот процесс в терминале описывается циклом из трех базовых команд.
Оценка обстановки
Команда git status — это ваш радар. Она показывает текущее состояние рабочей директории и индекса. Эту команду стоит вводить каждый раз, когда вы возвращаетесь к работе после перерыва или перед тем, как сохранить изменения.
Вывод этой команды подскажет, какие файлы были изменены, какие добавлены в индекс, а какие Git пока вообще не отслеживает (например, новые файлы с логами ошибок, которые только что сгенерировал ваш тестовый фреймворк).
Подготовка изменений
Когда вы написали новый тест, его нужно добавить в индекс. Для этого используется команда git add.
Часто новички используют команду git add . (точка означает «добавить всё в текущей директории»). Это опасная практика. Представьте реальный сценарий: вы запустили тесты, и фреймворк создал папку reports/ с тяжелыми скриншотами упавших тестов и файл debug.log на 500 мегабайт. Если вы введете git add ., весь этот мусор попадет в индекс, а затем и в репозиторий команды, замедлив работу всех коллег.
Правильный подход — добавлять файлы точечно:
Если вы хотите добавить все файлы с определенным расширением, можно использовать символ звездочки:
Фиксация результата
Когда логически завершенная часть работы находится в индексе, ее нужно зафиксировать. Этот процесс называется коммитом (commit). Коммит — это снимок состояния ваших файлов в конкретный момент времени.
Флаг -m позволяет передать сообщение коммита прямо в терминале. Сообщение должно быть информативным. В профессиональных командах часто используют стандартизированные префиксы для сообщений.
| Префикс | Значение | Пример использования QA-инженером |
| :--- | :--- | :--- |
| test: | Добавление или исправление тестов | test: update locators for payment button |
| fix: | Исправление ошибки в коде/тестах | fix: resolve timeout issue in API test |
| docs: | Обновление документации | docs: add instructions for running tests locally |
| chore: | Рутинные задачи, не меняющие логику | chore: update Selenium WebDriver version |
> Хороший коммит отвечает на вопрос «Что делает этот коммит, если применить его к проекту?», а не «Что я делал?». > > Линус Торвальдс, создатель Git
Анализ изменений: взгляд под микроскопом
Иногда git status показывает, что файл изменен, но вы не помните, что именно там правили. Возможно, вы случайно поставили лишний пробел или удалили важную скобку. Прежде чем добавлять файл в индекс, используйте команду git diff.
Терминал покажет удаленные строки красным цветом (с минусом), а добавленные — зеленым (с плюсом). Это ваша последняя линия обороны перед сохранением ошибочного кода.
Работа с историей: как найти, где всё сломалось
Один из самых частых сценариев в работе тестировщика — поиск момента, когда в проекте появилась ошибка. Для просмотра истории коммитов используется команда git log.
Она выведет список всех коммитов с указанием автора, даты и сообщения. Каждый коммит имеет уникальный идентификатор — хеш (hash), состоящий из 40 символов (например, a1b2c3d4e5f6...).
Если история слишком длинная, читать ее в стандартном виде неудобно. Используйте компактный формат:
Эта команда сожмет каждый коммит до одной строки, показывая только первые 7 символов хеша и сообщение. Это идеально подходит для быстрого поиска нужного изменения.
Синхронизация с командой: удаленные репозитории
До сих пор мы говорили о локальной работе. Но ценность Git раскрывается при работе в команде через платформы вроде GitHub, GitLab или Bitbucket. Эти платформы предоставляют удаленные репозитории (Remote Repositories).
Чтобы начать работу над существующим проектом, вам нужно скачать его на свой компьютер. Это делается командой клонирования:
Команда git clone не просто скачивает файлы, она копирует всю историю проекта и автоматически связывает вашу локальную папку с удаленным сервером.
Получение свежих изменений
Каждое утро QA-инженер должен начинать с актуализации своего локального кода. За ночь разработчики могли влить новые функции, а другие тестировщики — новые автотесты. Чтобы скачать эти изменения и объединить их с вашими, используется команда:
Здесь origin — это стандартное имя удаленного сервера, а main — название главной ветки проекта.
Отправка своей работы
Когда вы написали тесты, сделали коммит и готовы показать работу команде, изменения нужно отправить на сервер. Для этого применяется команда отправки:
Если вы попытаетесь сделать push, но на сервере есть изменения, которых нет у вас локально (кто-то другой успел отправить свой код раньше), Git отклонит вашу команду. Он заботится о том, чтобы вы случайно не затерли чужую работу. В таком случае вам придется сначала выполнить git pull, разрешить возможные конфликты (о которых мы подробно поговорим в следующих статьях), и только потом повторить git push.
Уверенная работа в терминале с этими базовыми командами — это первый шаг к профессиональному владению Git. Понимание того, как файлы перемещаются между рабочей директорией, индексом и репозиторием, избавит вас от страха «сломать проект» и позволит сосредоточиться на главной задаче — обеспечении качества продукта.