🪓
QAммунизм
  • 💬Предисловия
  • 📜Теория тестирования
    • Для чего проводится тестирование ПО?
    • Принципы тестирования
    • QC — Quality Control
    • QA — Quality Assurance
    • Верификация и валидация
    • Этапы тестирования
    • Стадии разработки ПО
    • Требования
    • Дефект (bug) и Отчёт о дефекте (bug report)
    • Severity vs Priority
    • Базовые типы задач
    • Тестовые среды
    • Основные фазы тестирования
    • Основные виды тестирования ПО
    • Тест-дизайн
    • Методы тестирования
      • Тестирование белого ящика
      • Тестирование серого ящика
      • Тестирование чёрного ящика
    • Тестовая документация
      • Тест план (Test Plan)
      • Чек-лист (check list)
      • Тестовый сценарий (test case)
  • 🦠Матрица компетенций QA Engineer
    • Грэйды QA
      • Trainee Manual QA Engineer (стажер)
      • Junior Manual QA Engineer (младший)
      • Pre-Middle Manual QA Engineer (почти средний)
      • Middle Manual QA Engineer (средний)
      • Upper-Middle Manual QA Engineer (продвинутый)
      • Senior Manual QA Engineer (ведущий)
    • Грэйды AQA
      • Trainee Automation QA Engineer (стажер)
      • Junior Automation QA Engineer (младший)
      • Pre-Middle Automation QA Engineer (почти средний)
      • Middle Automation QA Engineer (средний)
      • Upper-Middle Automation QA Engineer (продвинутый)
      • Senior Automation QA Engineer (ведущий)
    • Краткое содержание
  • 📑Паттерн описания тест-кейсов
    • Названия
    • Описание
    • Количество шагов
    • Ожидаемые результаты
  • 🦾Автоматизация тестирования
    • 🐍Python
      • 🧪PyTest
        • pytest.ini
      • 📗SeleniumBase
        • Установка
        • Конфигурации подключения к Selenoid
        • Распространенные методы
      • 📊Allure Python
        • Установка
        • Слушатель
        • Декораторы
          • Шаги(step)
          • Вложения(attach)
          • Ссылки(issue)
          • Описания(description)
          • Заголовки(title)
          • Строгость(Severity)
          • Epic
          • Title
        • Окружающая среда(Environment)
        • Маркеры(mark)
      • 🗺️ООП в Python во всех подробностях
        • Приватность свойств. Name Mangling (_name и __name)
        • Переменные (свойства / атрибуты) класса
        • Анотация типов
        • @staticmethod
        • @classmethod
        • @property
        • Кеширование результата вычисляемых свойств
        • Наследование
        • Определение одного родителя
        • Перегрузка
        • Множественное наследование
        • Mixins
        • Полиморфизм
        • super().__init__() - Инициализация из родительского класса
        • Хешированные объекты
        • Абстрактные классы
        • Абстрактный класс наследуется от абстрактного класса
        • __slots__ в классе и при наследовании
        • Композиция
        • Наследование vs Композиция
        • Дескрипторы (__get__(), __set__(), __del__())
        • No Data Descriptor
        • Data Descriptor
        • Слабые ссылки (weakref)
        • Метод __set_name__
    • 🐸JavaScript (В разработке)
      • 🃏Playwright (В разработке)
    • 🛰️Git: Основные команды
    • 🧊Selenoid - Allure server
      • Установка
    • 🐳Docker
      • Установите Docker Desktop в Windows
    • 🧾Паттерны проектирования автоматизированного тестирования
      • Как написать идеальный автотест: 25 принципов.
        • Тесты не так важны, как действия по результатам этих тестов
        • Ценность
        • Лучше ничего не делать, чем сделать flaky-тест
        • Доверие
        • Поделись знанием
        • Устрой дестрой
        • Думай иначе
        • Тесты должны запускаться автоматически
        • Тайна пирамиды
        • Из множества важного выбирай то, что проще
        • Нельзя протестировать всё
        • Используй скрытую силу
        • Принцип ААА
        • Не повторяйся
        • Хрупкость
        • Принцип двух ящиков
        • Тестируй без последствий
        • Упрощения
        • Красота
        • Параллельность
        • Скорость
        • Автотест — это фича
        • Автотест — это тест
        • Атомарность
        • Независимость
      • Паттерны
        • Page Object Model (POM)
    • 🧑‍🔧Принципы разработки ПО
      • SOLID в автоматизации тестирования
        • S — Single Responsibility Principle(Принцип единой ответственности)
        • O — Open/Closed Principle(Принцип открытости/закрытости)
        • L — Liskov Substitution Principle(Принцип замены Лискова)
        • I — Interface Segregation Principle(Принцип разделения интерфейса)
        • D — Dependency Inversion Principle(Принцип инверсии зависимостей)
      • KISS (Keep It Simple, Stupid)
      • DRY (Don’t Repeat Yourself)
      • YAGNI (You Aren’t Gonna Need It)
      • Бритва Оккама
      • Avoid Premature Optimization
  • 🎭Вопросы для собеседования
    • Junior
      • Теория тестирования
      • AQA
        • Программирование
        • Selenium
        • TestNG/JUnit(PYTHON)
        • Git
        • CI
      • Интернет
      • Компьютерные сети
      • Практические задания
    • Middle
      • Теория
      • AQA
        • Selenium
        • Тестовая инфраструктура
      • Интернет
      • Мобильный
      • Практические задания
    • Senior
      • Теория
      • Практические задания
    • Практические задания
  • 📊Оценка покрытие Тест-кейсами/UI-автотестами(Coverage)
    • Матрица трассировки требований(RTM)
    • Обратная связь от тестировщиков
    • Включение новых сценариев
    • Использование метрик покрытия
    • Анализ отчетов о выполнении тестов
    • Измерение покрытия кода
    • Определение целевых экранов
    • Рассмотрение покрытия по сценариям использования
    • Автоматизированные средства анализа кода
Powered by GitBook
On this page
  • help
  • init
  • clone
  • remote
  • config
  • status
  • add | restore | rm
  • stash
  • commit
  • log
  • revert
  • reset
  • cherry-pick
  • branch
  • switch | checkout
  • merge
  • rebase
  • fetch
  • pull
  • push
  • reflog

Was this helpful?

  1. Автоматизация тестирования

Git: Основные команды

help

git <command> --help  # Откроет информацию по запрашиваемой команде
git commit --help  # Пример

init

git init  # Создать репозиторий. (Сделать текущую директорию новым репозиторием)
git init <name>  # Создать репозиторий в текущей директории с именем <name>
git init basic-git  # Пример

clone

git clone <remote-url>
git clone https://github.com/LpilinAlexandr/basic-git.git  # Пример через http
git clone git@github.com:LpilinAlexandr/basic-git.git  # Пример через ssh

remote

git remote set-url origin https://github.com/LpilinAlexandr/basic-git123.git  # Изменить в origin remote адрес
git remote add test https://github.com/LpilinAlexandr/basic-git123.git  # Установить новый remote адрес
git remote -v  # Посмотреть список всех remote адресов

config

git config -l # Список текущих настроек
git config --global -l  # Список глобальных настроек
git config --local -l  # Список локальных настроек репозитория

git config --global user.name Name  # Установить имя пользователя в глобальной области
git config --global user.email email@example.com # Установить email пользователя в глобальной области

git config --unset <var> # Удалить переменную из настроек

git config alias.<your-alias> <command>  # Создание алиаса для команды
git config alias.st status  # Пример: теперь сможем писать git st вместо git status

git config --global core.autocrlf <input|false|true>  # Настройка параметра окончания строки.

status

git status
git status -s  # Статус в короткой форме

add | restore | rm

git add <path>  # Добавить в индекс всю директорию или файл по указанному пути
git add .  # Добавить всё в текущей директории
git restore --staged <path>  # Исключает из индекса добавленную директорию или файл по указанному пути
git restore <path>  # Отменить изменения в указанном месте 
git rm  # Фактически то же самое, что и удаление файла/директории

stash

git stash -m 'my stash name'  # Спрячет все изменения в стеш 
git stash pop  # Достанет последние изменения из стеша, удалив его оттуда. По дефолту 0
git stash apply  # Достанет последние изменения из стеша, сохранив его. По дефолту 0
git stash list  # Посмотреть список всех стешей
git stash show <stash>  # Посмотреть стеш. По дефолту 0
git stash drop <stash>  # Удалить стеш. По дефолту 0

commit

git commit -m 'Заголовок коммита'  # Сделать коммит
git commit -m 'Заголовок коммита' -m 'Текст под заголовком коммита'  # Сделать коммит с заголовком и доп. текстом

git commit <path> -m 'Заголовок'  # Закоммитить выбранный каталог

git commit --amend [-m] # Закоммитить изменения в предыдущий коммит
git commit --amend  --no-edit # Закоммитить изменения в предыдущий коммит без редактирования заголовка и описания

log

git log  # Посмотреть логи по порядку
git log <branch-name>  # Посмотреть логи по конкретной ветке
git log --grep <pattern>  # Поиск коммитов с подходящей подстрокой
git log --invert-grep <pattern>  # Поиск коммитов, не входящих в подстроку
git log --oneline  # Список логов, каждый в одной строке

revert

git revert <commit>  # Отменить коммит
git revert -n <commit>  # Отменить коммит и оставить изменения в индексе

reset

git reset <commit>  # Сбросить коммиты в индекс до указанного коммита
--soft  # Изменения сбрасываются в индекс (Дефолтное значение)
--hard  # Изменения удаляются
git reset --soft HEAD~  # Сбросить последний коммит в индекс
git reset --hard HEAD~4  # Убить последние 4 коммита

# squash life-hack
git reset --soft HEAD~3  # Сбрасываем 3 последних коммита в 1
git commit -m 'Обьединили 3 коммита'  # Коммитим заново, тем самым объединяя 3 коммита в 1

cherry-pick

git cherry-pick <commit>  # Перенести коммит в HEAD текущей ветки
git cherry-pick -n <commit>  # Перенести коммит в HEAD текущей ветки, но не делать коммит

branch

git branch  # Посмотреть список локальных веток
git branch <branch-name> # Создать новую ветку от текущей ветки
git branch -a  # Посмотреть полный список веток вместе с remotes
git branch -m  # Переименовать ветку
git branch -d / -D  # Удалить ветку. Мягкое и жесткое удаление

switch | checkout

git checkout <branch> | <commit>  # Переключиться на ветку или коммит по его хешу
git checkout -b <new_branch>  # Отбранчеваться от текущей ветки в новую ветку и сразу переключиться на нее со всеми изменениями

git switch <branch> | <commit> # Переключиться на ветку или коммит по его хешу
git switch -c <new_branch>  # Отбранчеваться от текущей ветки в новую ветку и сразу переключиться на нее со всеми изменениями

merge

git merge <branch>  # Слить изменения из ветки <branch> в текущую ветку
git merge --continue  # Продолжить слияние в случае решения конфликтов
git merge --abort  # Отменить merge

rebase

git rebase <commit>  # Встать коммитами текущей ветки на выбранный коммит 
git rebase <branch>  # Встать коммитами текущей ветки на выбранную ветку
git rebase --continue  # Продолжить слияние в случае решения конфликтов
git rebase --abort  # Отменить rebase

fetch

git fetch # Запросить все изменения из origin 
git fetch <remote> # Запросить все изменения из remote
git fetch <remote> --prune # Запросить все изменения из remote и синхронизировать их

pull

git pull origin <branch>  # Стянуть из remote актуальную ветку <branch> (По умолчанию режим merge)
git pull origin <branch> --rebase  # Стянуть из remote актуальную ветку в режиме rebase

push

git push <remote> <branch>  # Отправить локальную ветку на remote 
git push -f <remote> <branch>  # Отправить принудительно локальную ветку на remote, перезаписав её 
git push -u <remote> <branch>  # Отправляем локальную ветку на remote и устанавливаем отслеживание

reflog

git reflog  # Показать историю
git reflog <branch> # Показать историю по конкретной ветке

Last updated 1 year ago

Was this helpful?

🦾
🛰️