Найти тему
Halibut Testing

GIT ДЛЯ ТЕСТИРОВЩИКА. ОСНОВНЫЕ КОМАНДЫ ДЛЯ УСПЕШНОЙ РАБОТЫ С GIT

Знание команд Git важно для тестировщика, чтобы управлять версиями тестов, совместно работать с разработчиками, отслеживать изменения в коде и восстанавливать предыдущие версии.

1. Создание нового репозитория

git init

Эта команда создает новый локальный репозиторий и является первым шагом в начале работы с новым проектом.

2. Клонирование существующего репозитория

git clone https://github.com/username/repository.git

Команда `git clone` используется для создания копии существующего удаленного репозитория на вашем локальном компьютере.

3. Добавление изменений в индекс

git add .

После изменения файлов в проекте, `git add` добавляет изменения в индекс, подготавливая их к фиксации (commit).

4. Создание коммита

git commit -m "Добавлен новый модуль"

С помощью команды `git commit` изменения записываются в историю репозитория, сопровождаемые сообщением, описывающим суть изменений.

5. Просмотр истории коммитов

git log

`Git log` отображает историю коммитов, позволяя отслеживать изменения, произведенные в проекте.

6. Создание новой ветки

git branch new-feature

Ветки в Git позволяют разработчикам работать над новыми фичами или исправлениями, не затрагивая основной кодовой базы.

7. Переключение на другую ветку

git checkout new-feature

С помощью `git checkout` вы можете переключаться между различными ветками в проекте.

8. Обновление локальной ветки с удаленного репозитория

git pull origin master

`Git pull` позволяет обновить локальную ветку, загрузив изменения из удаленного репозитория и слив их с локальными.

9. Отправка изменений в удаленный репозиторий

git push origin new-feature

После завершения работы в ветке, `git push` отправляет ваши изменения в удаленный репозиторий, делая их доступными для других участников проекта.

10. Просмотр изменений в рабочем каталоге

git status

`Git status` предоставляет информацию о текущем состоянии рабочего каталога, показывая, какие файлы были изменены или готовы к коммиту.

11. Просмотр различий между файлами

git diff

Для проверки того, что именно было изменено в файлах до их индексации, используйте `git diff`.

12. Удаление файлов из репозитория

git rm <file>

`Git rm` удаляет файлы из вашего репозитория и автоматически добавляет эти изменения в индекс.

13. Просмотр удаленных репозиториев

git remote -v

С помощью `git remote -v` можно просмотреть список всех удаленных репозиториев, связанных с вашим локальным репозиторием.

14. Изменение предыдущего коммита

git commit --amend

Если нужно исправить ошибку в последнем коммите, `git commit --amend` позволяет добавить изменения к этому коммиту или изменить его сообщение.

15. Ребейз ветки

git checkout master
git pull origin master
git checkout new-feature
git rebase master

Ребейз (`git rebase`) перемещает весь набор коммитов в ветке на вершину другой (обычно основной) ветки, создавая более чистую историю.

16. Отмена коммита

git reset --hard HEAD^

`Git reset` возвращает репозиторий к состоянию предыдущего коммита, отменяя все изменения.

17. Временное сохранение изменений

git stash

Команда `git stash` временно сохраняет изменения, позволяя вернуться к ним позже.

18. Применение изменений коммита

git cherry-pick <commit-hash>

`Git cherry-pick` применяет изменения из указанного коммита в текущую ветку.

19. Работа с подмодулями

git submodule add <repository-url>

Если ваш проект зависит от кода из других репозиториев, вы можете добавить эти репозитории как подмодули с помощью `git submodule add`.

20. Отображение различий между двумя ветками

git diff branch1..branch2

Эта команда показывает различия в коде между двумя ветками, что полезно при анализе изменений перед слиянием.

21. Удаление удаленной ветки

git push origin --delete <branch-name>

Если удаленная ветка больше не нужна, вы можете удалить ее с помощью `git push origin --delete`.

22. Изменение URL удаленного репозитория

git remote set-url origin <new-url>

Когда URL удаленного репозитория меняется, используйте `git remote set-url` для обновления ссылки в локальном репозитории.

23. Просмотр списка измененных файлов в коммите

git show --name-only <commit-hash>

Эта команда отображает список файлов, которые были изменены в конкретном коммите.

24. Изменение последнего коммита без изменения сообщения

git commit --amend --no-edit

Если требуется добавить изменения в последний коммит без модификации его сообщения, используйте `git commit --amend --no-edit`.

25. Отмена изменений в файле до индексации

git checkout -- <file>

`Git checkout -- <file>` отменяет все незафиксированные изменения в указанном файле.

26. Поиск коммитов, изменяющих определенную строку

git log -S"string"

Эта команда ищет все коммиты, которые добавляли или удаляли указанную строку.

27. Удаление файлов из индекса, но сохранение их в рабочем каталоге

git rm --cached <file>

Чтобы удалить файл из отслеживаемых, но не удалять его из файловой системы, используйте `git rm --cached`.

28. Поиск всех вхождений строки в истории коммитов

git log -S"string"

Эта команда аналогична пункту 26 и позволяет найти все изменения, связанные с конкретной строкой в истории комитов.

29. Переключение между ветками

git checkout new-branch

Команда `git checkout` используется для переключения между ветками в вашем репозитории. Это позволяет вам быстро перемещаться между различными линиями разработки.

30. Слияние изменений из одной ветки в текущую

git merge feature-branch

Команда `git merge` применяется для объединения изменений из указанной ветки (`feature-branch`) в текущую ветку. Это позволяет интегрировать новые функциональности или исправления в основную кодовую базу.