Что такое 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]Показать детали конкретного коммита.