git clone https://github.com/PraktikumJava/git-hints.git
Хэш коммита - идентификатор коммита, полученный с помощью алгоритма SHA-1. Хэш обладает свойством: если хоть что-то в исходных данных поменяется, хеш тоже изменится. Git хранит таблицу соответствий хеш → информация о коммите в служебных файлах .git. Лог - список коммитов с описанием, содержит хеш, автора, дату и сообщение к коммиту. Сокращённый лог - список коммитов с описанием, содержит только первые несколько символов хеша и комментарии. Файл HEAD указывает на последний (самый новый) коммит. При работе с Git указатель HEAD используется часто, вместо хеша последнего коммита можно просто написать слово HEAD.
Git использует статусы файлов для отслеживания изменений в репозитории. Статусы файлов включают: untracked, staged, modified, and tracked. Untracked файлы - новые файлы, не отслеживаемые Git'ом. Staged файлы - файлы, добавленные в staging area командой git add. Modified файлы - файлы с изменениями, найденными Git'ом. Tracked файлы - файлы, закоммиченные или добавленные в staging area. Жизненный цикл файла в Git: создание, добавление в staging area, коммит, изменение, повторное добавление в staging area, коммит. Команда git status показывает статусы файлов: staged, modified, untracked.
Сообщения к коммитам важны для определения содержимого коммита и облегчения работы с ним.
- Сообщения должны быть короткими, информативными и легко читаемыми.
- Разные команды и проекты могут использовать разные стили оформления сообщений.
- Общие рекомендации включают длину сообщения от 30 до 72 символов, использование глаголов в инфинитиве и указание Jira-ID при корпоративном стиле.
- Conventional Commits предлагает стандартизированный формат коммита с указанием типа изменений.
- GitHub-стиль позволяет указывать ссылки на задачи в сообщениях коммитов.
- Рекомендации для использования инфинитивов и повелительного наклонения в сообщениях на разных языках также существуют.