Знание команд 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`) в текущую ветку. Это позволяет интегрировать новые функциональности или исправления в основную кодовую базу.