GIT основы
Система контроля версий
Система контроля версий (СКВ, Version Control System, VCS или Revision Control System) — это ПО для облегчения работы с изменяющейся информацией, которое позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Классификация
Системы контроля версий подразделяются на две категории:
- Централизованные СКВ – единственный репозиторий хранится на сервере;
- Распределенные СКВ – репозиторий хранится у каждого клиента локально.
Популярные СКВ
Наиболее популярными централизованными СКВ являются:
К распределенным СКВ относятся:
Git основные команды
git add
- добавляет содержимое рабочей директории в индекс.git add -i
илиgit add --interactive
- интерактивное индексирование, полезна если вы изменили множество файлов, а затем решили, что хотите чтобы эти изменения были в нескольких маленьких понятных коммитах, а не в одном большом и запутанном.git status
- показывает состояния файлов в рабочей директории и индексе.git diff
- используется для вычисления разницы между любыми двумя Git деревьями. Это может быть разница между вашей рабочей директорией и индексом (собственноgit diff
), разница между индексом и последним коммитом (git diff --staged
), или между любыми двумя коммитами (git diff master branchB
).git commit
- берет все данные, добавленные в индекс с помощьюgit add
, и сохраняет их слепок во внутренней базе данных, а затем сдвигает указатель текущей ветки на этот слепок.git reset
- используется в основном для отмены измененийgit branch
- умеет перечислять ваши ветки, создавать новые, удалять и переименовывать их. Для того что бы удалить веткуgit branch -D <branch-name>
git checkout
- используется для переключения веток и выгрузки их содержимого в рабочую директорию.git merge
- используется для слияния одной или нескольких веток в текущую. Затем она устанавливает указатель текущей ветки на результирующий коммит.git mergetool
- просто вызывает внешнюю программу слияний, в случае если у вас возникли проблемы слияния.git log
- используется для просмотра истории коммитов, начиная с самого свежего и уходя к истокам проекта.