5. Инструменты для отслеживания изменений #
5.1. Использование git diff
#
git diff
— команда для просмотра различий между состояниями файлов в репозитории. Она позволяет увидеть, какие изменения были внесены.
Сравнение рабочей директории и staging area #
Чтобы увидеть изменения в файлах, которые ещё не добавлены в staging area:
git diff
Сравнение staging area и последнего коммита #
Если вы добавили изменения с помощью git add
, но ещё не зафиксировали их:
git diff --staged
Сравнение двух коммитов #
git diff коммит1 коммит2
Пример:
git diff abc123 def456
Сравнение текущей ветки с другой веткой #
git diff ветка1 ветка2
Пример:
git diff main feature/login
Сравнение изменений в конкретном файле #
git diff имя_файла
Пример:
git diff README.md
5.2. Просмотр истории изменений #
Git предоставляет несколько команд для анализа изменений в истории.
git log
#
Просмотр истории коммитов текущей ветки:
git log
Полезные параметры git log
:
#
- Краткий вывод:
git log --oneline
- Отображение в виде графа:
git log --graph --oneline --decorate
- Фильтрация по автору:
git log --author="Имя автора"
- Поиск по ключевым словам:
git log --grep="Ключевое слово"
git blame
#
Команда git blame
позволяет определить, кто внёс изменения в определённые строки файла.
git blame имя_файла
Пример:
git blame main.go
- Каждый вывод содержит хэш коммита, имя автора и дату изменения строки.
5.3. Теги в Git #
Теги (tags) используются для маркировки определённых точек в истории, например, релизов.
Виды тегов: #
- Аннотированные теги: Содержат метаинформацию (автор, дата, сообщение).
- Лёгкие теги: Упрощённый вариант, представляющий собой ссылку на коммит.
Создание тегов #
Аннотированный тег: #
git tag -a имя_тега -m "Сообщение"
Пример:
git tag -a v1.0 -m "Первый релиз"
Лёгкий тег: #
git tag имя_тега
Пример:
git tag v1.0
Просмотр тегов #
git tag
Добавление тега к предыдущему коммиту #
git tag -a имя_тега хэш_коммита -m "Сообщение"
Пример:
git tag -a v0.9 abc123 -m "Бета-версия"
Удаление тега #
Локальное удаление: #
git tag -d имя_тега
Пример:
git tag -d v1.0
Удаление на удалённом репозитории: #
git push origin --delete имя_тега
Отправка тегов на удалённый репозиторий #
Отправка всех тегов: #
git push --tags
Отправка конкретного тега: #
git push origin имя_тега
Пример:
git push origin v1.0
Сравнение коммитов с использованием тегов #
git diff тег1 тег2
Пример:
git diff v1.0 v1.1
Итоги #
Инструменты для отслеживания изменений позволяют:
- Анализировать различия между состояниями файлов (
git diff
). - Просматривать историю изменений и выявлять авторов строк (
git log
иgit blame
). - Организовывать релизы с помощью тегов, облегчая управление версиями.