Как создать репозиторий и отправить файл на удаленный сервер с помощью Git
Что проверяют
Пользовались ли вы Git сами или только нажимали кнопки в IDE. Для тестировщика это рабочий навык: автотесты живут в репозитории, их ревьюят и гоняют в CI. Следом обычно спрашивают, что делать, если push отклонили.
Как отвечать
Опишите путь целиком и называйте команды:
- локальный репозиторий:
git initв папке проекта и один разgit config user.nameиuser.email, иначе коммиты подпишутся чем попало; - индекс и коммит:
git add tests/test_login.py, затемgit commit -m "Добавлен тест логина". Перед коммитом смотритеgit status; - ветка:
git initпо умолчанию создаётmaster, если в настройках не заданinit.defaultBranch, а GitHub и GitLab ждутmain. Переименовать можно так:git branch -M main; - удалённый репозиторий: создаёте пустой проект на сервере и связываете его командой
git remote add origin <url>; - отправка:
git push -u origin main. Флаг-uзапоминает связь веток, дальше хватит простоgit push.
Про доступ: пароль от аккаунта по HTTPS GitHub не принимает, нужен персональный токен или SSH-ключ. Если репозиторий на сервере уже есть, проще начать с git clone и ничего не связывать вручную.
Добавьте QA-контекст: в .gitignore уходят отчёты allure-results, скриншоты упавших тестов, node_modules или виртуальное окружение и файлы с учётными данными тестовых стендов.
Где спотыкаются
Создают репозиторий на сервере с README, пушат локальную историю и получают rejected (fetch first). Это не конфликт, а расхождение историй: сначала заберите удалённый коммит через git pull --rebase origin main, потом повторите push.
Путают ветки: пушат main, а локально есть только master, и получают src refspec main does not match any. Перед отправкой посмотрите git branch.
Делают git add . не глядя и отправляют в общий репозиторий гигабайт отчётов или файл с паролями от стенда. Удаление следующим коммитом не помогает: секрет остаётся в истории, и его придётся менять.