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